Skip to content

Instantly share code, notes, and snippets.

@haleyjd
Last active July 26, 2017 01:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save haleyjd/1c906346f68e2046584751b886971d9d to your computer and use it in GitHub Desktop.
Save haleyjd/1c906346f68e2046584751b886971d9d to your computer and use it in GitHub Desktop.
===============================================================================
General stuff
===============================================================================
* Support for patch textures between T_START and T_END namespace markers
===============================================================================
Thing Flags
===============================================================================
* Doom 64: Don't spawn until triggered (how to trigger?)
* Doom 64: No infighting
===============================================================================
MACROS-inspired capability - Global storage for linedef action parameter(s)
===============================================================================
Enables actions similar to Doom 64 Line Types:
* 204 Set Macro Int (sets argument used by other macro actions)
* 210 Custom Ceiling
* 212 Custom Floor
* 214 Modify Line Texture
* 221 Modify Sector Special
* 222 Modify Sector Light
* 224 Spawn Thing
* 226 Custom Ceiling Fast
* 227 Custom Ceiling Instant
* 228 Custom Floor Fast
* 229 Custom Floor Instant
* 230 Modify Line Special
* 233 Freeze Player
* 236 Custom Plat
* 240 Trigger Random Lines
* 244 Set Sector Floor Height
* 245 Set Sector Ceiling Height
* 247 Move Floor by Height
* 252 Move Ceiling by Height
===============================================================================
Core Concept: Alert Enemies
===============================================================================
* Strife Line Type 150: Raise Alarm
* Strife Line Type 175: Raise Alarm if Activator < 16 Above Floor
* Doom 64 Line Type 94: Alert Thing
===============================================================================
Core Concept: Doors
===============================================================================
Concept: Unique Movement Speed
* Heretic Line Type 100 et al.: Door Raise 3x normal speed
Concept: Split Open (Floor desc to neighbor floor height while door is open)
* Strife Line Type 40 et al.: Split Open Door
* Doom 64: All DR Doors were modified to support this behavior if floorheight
is not equal to neighboring sector floorheight
===============================================================================
Core Concept: Earthquakes
===============================================================================
Shake the players' viewpoints within a specific or parameterized radius with
specific or parmeterized intensity
* Hexen Line Type 120: Radius_Quake
* Doom 64 Line Type 225: Quake
===============================================================================
Core Concept: Floors and Ceilings
===============================================================================
Unique Movement Targets
* Strife Line Types 58, 92, et al.: Raise Floor 64
* Strife Line Types 180, 181: Raise Floor 512 and Change
Unique Motion Types
* Doom 64 Line Type 244: Set Sector Height
* Doom 64 Line Type 245: Set Ceiling Height
* Doom 64 Line Type 247: Move Sector by Height
* Doom 64 Line Type 252: Move Ceiling by Height
===============================================================================
Core Concept: Force Fields
===============================================================================
Blocking two-sided linedefs which clear the blocking flag and middle textures
when deactivated. Activating force field zap lines harms the player.
* Strife Line Type 147: Clear Force Fields
* Strife Line Type 148: Force Field Zap
* Strife Action Routine: A_ClearForceFields
===============================================================================
Core Concept: Friction (simple static setup)
===============================================================================
* Heretic Sector Type 15 - Low Friction (Ice)
===============================================================================
Core Concept: Game Progression Control
===============================================================================
Concept: Extend Exit Lines to Support Tagged Destination
* PSX Line Types (All Exits): Tag == Destination Level
* Strife Line Types (All Exits): Tag == Destination Level, or Level*100 + Spot
* Hexen Line Types: Hub exit types
Concept: End Game Victorious
* Strife Line Type 51: Start Finale
* Hexen Line Type 75: Teleport_EndGame
===============================================================================
Core Concept: Linedef Property Change
===============================================================================
* Doom 64 Type 219: Modify Texture (copy to dest from target line)
* Doom 64 Type 230: Modify Line Special (copy to dest from target line)
===============================================================================
Core Concept: Music Change
===============================================================================
Allow music to be changed when triggering an action.
* Strife Line Types 203, 204: Change Music (Internal/MUSINFO-compat ID number)
===============================================================================
Core Concept: Pillars
===============================================================================
Splits floor and ceiling in opposite directions (analogous to BOOM elevators,
but not same direction of motion)
* Hexen Line Types:
29 Pillar Build
30 Pillar Open
94 Pillar Build and Crush
* Doom 64 Line Type 241: Split Open Sector
===============================================================================
Core Concept: Plats
===============================================================================
Concept: Up-Wait-Down-Stay Action
* Hexen Line Type 64: Plat Up-Wait-Down-Stay
* Strife Line Types 155 et al.: Plat Up-Wait-Down-Stay
* Doom 64 Line Type 122, 123: Plat Up-Wait-Down-Stay (Slow/Fast)
===============================================================================
Core Concept: Player Messaging
===============================================================================
Concept: Text Messages
Suggested implementation: Range of BEX string mnemonics which are hardcoded for
use by particular line specials.
* Strife Line Types 165, 205: "That doesn't seem to work",
"This area is only in the registered version of Strife"
Concept: Objectives
Play voice message sfx and give log message (matching VOC / LOG lumps)
* Various Strife line types
===============================================================================
Core Concept: Sector Scrollers (simple static setups)
===============================================================================
* Heretic Sector Types:
20 - 24: Static scroll and push, current
25 - 39: Static push, current
40 - 51: Static push, wind
* Strife Sector Type 18 - Current; direction and strength from sector tag
===============================================================================
Core Concept: Sector Damage
===============================================================================
* Heretic Sector Types:
5 - 5 dmg per 16 tics
7 - 4 dmg per 32 tics
16 - 8 dmg per 16 tics
* Strife Sector Types:
5 - +2 to nukagecount (delayed damage accumulation)
15 - Instant death (999 damage per tic)
16 - +4 to nukagecount
* Doom 64 Sector Type 666 - Instant kill things crushed in this sector
===============================================================================
Core Concept: Sector Lighting
===============================================================================
* Doom 64 Line Type 222: Modify Sector Light (copy to dest from target sec)
* Heretic Sector Type 4 - Strobe hurt, push, and scroll floor
* Hexen Sector Types:
1 - 4: Phased Lighting
* PSX Sector Types:
8 - Slow Glow
200 - Glow Cycle from sector light down to 10, then reverse
201 - Glow Cycle from sector light up to 255, then reverse
202 - Hyper Strobe
203 - Fast Strobe
* Doom 64 Sector Types:
11 - Randomized pulse
202 - Constant blink slow
205 - Sequenced light start
208 - Constant blink fast
===============================================================================
Core Concept: Sector Property Change
===============================================================================
* ZDoom Hexen/UDMF Line Type 186, 187: Set Ceiling/Floor Panning
* Doom 64 Line Type 221: Modify Sector Special (copy to dest from target sec)
* Doom 64 Line Type 223: Modify Sector Flats (copy to dest form target sec)
===============================================================================
Core Concept: Sliding Doors
===============================================================================
Require special sets of middle textures. Doors function by instantly moving
ceiling of sector on backside of 2S line while animating line textures.
* Strife Line Types 144, 201, et al.: DR Sliding Door, SR Sliding Door, etc.
===============================================================================
Core Concept: Stairs
===============================================================================
* Hexen Style Stairs (explicitly marked, support sync raise)
Line Types: Stairs_BuildUp, Stairs_BuildDown, Stairs_BuildUpSync,
Stairs_BuildDownSync
Sector Types: 26, 27
===============================================================================
Core Concept: Static Simple Scrollers
===============================================================================
Require no special setup, easy to use.
* Hexen Line Types 100 - 103
* PSX Line Types 200 - 203 (Static Scroll Up, Down)
* Strife Line Types 142, 143, 149 (Static Scroll Up, Down, Down Fast)
===============================================================================
Core Concept: Thing Manipulation
===============================================================================
Since lack of TIDs precludes general addressing of things, some possibilities
include affecting things in a tagged sector, affecting the activator of the
line only, etc.
* Hexen/ZDoom Line Types:
17 - Thing_Raise
19 - Thing_Stop
72 - ThrustThing
73 - DamageThing
128 - ThrustThing2
132 - Thing_Remove
133 - Thing_Destroy
248 - HealThing
* Doom 64 Line Types:
202 - Invoke Dart (requires dart thingtype)
224 - Spawn Thing
231 - Invoke Revenant Missile
233 - Freeze Player
===============================================================================
Core Concept: Waggle
===============================================================================
Sectors move floors and/or ceilings in undulating fashion (sine wave).
* Hexen Line Type 138: Floor_Waggle
* ZDoom: Ceiling_Waggle
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment