From DoomWiki.org

(Specification)
(new Linedef types)
Line 52: Line 52:
  
 
* more scrollers ''detail please!''
 
* more scrollers ''detail please!''
* simple downwards scroller: use y texture offset for scroll speed (so x remains for x offset alignment)
+
** simple downwards scroller: use y texture offset for scroll speed (so x remains for x offset alignment)
 
* a 242-style effect which doesn't invert the purpose of the sector/control sector floor/ceiling textures, and is visible if the player is ''outside'' the sector, too (how Legacy used to incorrectly render it, and how Eternity currently incorrectly renders it, iirc)
 
* a 242-style effect which doesn't invert the purpose of the sector/control sector floor/ceiling textures, and is visible if the player is ''outside'' the sector, too (how Legacy used to incorrectly render it, and how Eternity currently incorrectly renders it, iirc)
 
* (static) Apply front sidedef offsets to tagged sector/linedef upper tex
 
* (static) Apply front sidedef offsets to tagged sector/linedef upper tex

Revision as of 10:03, 28 June 2017

Under construction icon-yellow.svgThis page is not actually a specification, but an example of how a wiki page might be used to write a spec.


Boom++ Specification

This is a draft specification for a set of extended features for Boom-compatible source ports.

About

rationale

Boom has served as a very successful de-facto standard set of features for doom engines, being adopted by the majority of advanced engines in use today. However, it has its limitations and modern day mappers are increasingly hitting up against them.

The intention of this spec is to outline some simple extensions to the Boom feature set that could be easily implemented by source ports and form a newer common standard.

ports planning to support this spec

Insert ports here! (we hope at least: gzdoom, prboom+, eternity; hopefully also 3DGE , doom legacy)

specification development

This specification is edited by ($INSERT_EDITOR(S)_HERE).

Discussion about the specification takes place in this doomworld thread.

Specification

sprites/graphics

  • 16 angle rotations (from the looks of it already supported by PrBoom+, definitely supported in ZDoom and I believe also in Eternity)
  • a well defined way to make hires replacement (definitely present in PrBoom+ and ZDoom, haven't checked Eternity for it)

generalised lighting

(https://gist.github.com/haleyjd/aa2220e680389d7dce88410630e73abf)

New projectile types

??

UMAPINFO

??

DECORATE lite

??

new Linedef types

  • more scrollers detail please!
    • simple downwards scroller: use y texture offset for scroll speed (so x remains for x offset alignment)
  • a 242-style effect which doesn't invert the purpose of the sector/control sector floor/ceiling textures, and is visible if the player is outside the sector, too (how Legacy used to incorrectly render it, and how Eternity currently incorrectly renders it, iirc)
  • (static) Apply front sidedef offsets to tagged sector/linedef upper tex
  • (static) Apply front sidedef offsets to tagged sector/linedef lower tex
  • Strife's animated doors. (can be taken from ZDoom.)

new sector types

  • No damage to player (invincible, showing godmode eyes in hud)
  • Kill anything that touches sector floor. For void deaths
  • (player only) teleport to tagged sector when player touches the floor
  • grouped sector for special action (use to make multiple sectors behave the same - ie: multi-sector lift/door or crusher. If one sector of the group is blocked from moving, ll grouped sectors are also blocked). Grouping is done using the tag value.

new DEHACKED features

states

More states! [ ideally: we cargo-cult existing state table extensions from an existing port such as doom retro ]

Appendix

Out of scope features

The following objectives are out of scope for this effort

  • we are not planning to change the level format
  • we are not planning to define a new scripting language

The following features have been discussed and declared out of scope for this effort. Please do not waste time in the thread discussing them further.

  • a (new) embedded scripting language
  • TRIG-TAG stuff? (editor's note: I haven't kept up on this suggestion.)