Difference between revisions of "Linguortal"

From DoomWiki.org

[checked revision][checked revision]
m (Fraggle moved page User:ConSiGno/Sandbox-Linguortal to Linguortal: LGTM)
(rm broken video link; Euclidean is capitalized)
 
(6 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{stub}}
+
A '''linguortal''' is a non-Euclidean, portal-like effect that works in vanilla Doom. The effect is achieved by manually editing the [[NODES]] [[lump]] of a map. It was discovered in August 2015 by [[Andrew "Linguica" Stine]], and named by him. As this is an effect achieved through a modified BSP tree, this effect may not work on all [[source port]]s, with [[Chocolate Doom]], [[Mocha Doom]], and [[Boom]] being notable exceptions.
 
 
{{youtube|bwjeu1C2-Ok|Working example of a linguortal.}}
 
A '''Linguortal''' is a non-euclidean, portal-like effect that works in vanilla Doom. The effect is achieved by manually editing the [[NODES]] [[lump]] of a map. It was discovered in August 2015 by [[Andrew "Linguica" Stine]], and named by him. As this is an effect achieved through a modified BSP tree, this effect may not work on all [[source port]]s, with [[Chocolate Doom]], [[Mocha Doom]], and [[Boom]] being notable exceptions.
 
 
 
 
 
  
 
== Origins ==
 
== Origins ==
 
+
The first documented linguortal was on a [[Doomworld]] Forums thread titled "Stupid BSP Tricks"<ref>{{Dwforums|id=74354}}</ref>. Several examples were shown of effects possible by manually editing the NODES lump, including passageways that shut when the player is close to them, structures that disappear at certain angles, and manual [[SEGS]] editing to achieve a "fake wall" effect.
The first documented linguortal was on a [[Doomworld]] Forums thread titled "Stupid BSP Tricks"<ref>http://www.doomworld.com/vb/doom-editing/74354-stupid-bsp-tricks/</ref>. Several examples were shown of effects possible by manually editing the NODES lump, including passageways that shut when the player is close to them, structures that disappear at certain angles, and manual [[SEGS]] editing to achieve a "fake wall" effect.
 
  
 
== Caveats ==
 
== Caveats ==
Line 17: Line 11:
 
== How it works ==
 
== How it works ==
 
[[File:Linguortal-Subsector.jpg|thumb|right|Typical linguortal setup.]]
 
[[File:Linguortal-Subsector.jpg|thumb|right|Typical linguortal setup.]]
Linguortals are created by re-routing the path the BSP tree takes on a split. It is possible to create a linguortal setup by drawing a viewpoint sector into a wall, usually a box, and a symmetrical triangle sector, where the widest side touches the box. When the nodes are built, the triangle becomes its own [[subsector]]. With this in mind, the BSP tree is modified to "jump" from the original node attached to the triangle subsector to another node entirely. As Doom as no idea of the modification, it will render the contents of the substituted node.
+
Linguortals are created by re-routing the path the BSP tree takes on a split, and repositioning the SEG rendering locations to be within the player's view. It is possible to create a linguortal setup by drawing a viewpoint sector into a wall, usually a box, and a symmetrical triangle sector, where the widest side touches the box. When the nodes are built, the triangle becomes its own [[subsector]]. With this in mind, the BSP tree is modified to "jump" from the original node attached to the triangle subsector to another node entirely. As Doom has no idea of the modification, it will jump to  the contents of the substituted node.
  
 +
However, a linguortal will not render unless the SEGS in the substituted node's viewpoint are moved in front of the viewpoint line. To accomplish this, additional vertices must be placed within the same relative distance as the separate area, with SEGS attached to these vertices. As of this writing, this must be performed manually in a {{wp|hex editor}}.
  
 +
== See also ==
 +
* [[Mikoportal]]
  
 
==References==
 
==References==
 
<references />
 
<references />
 
+
{{featured article}}
 
[[Category:Advanced level editing]]
 
[[Category:Advanced level editing]]

Latest revision as of 20:49, 15 October 2021

A linguortal is a non-Euclidean, portal-like effect that works in vanilla Doom. The effect is achieved by manually editing the NODES lump of a map. It was discovered in August 2015 by Andrew "Linguica" Stine, and named by him. As this is an effect achieved through a modified BSP tree, this effect may not work on all source ports, with Chocolate Doom, Mocha Doom, and Boom being notable exceptions.

Origins[edit]

The first documented linguortal was on a Doomworld Forums thread titled "Stupid BSP Tricks"[1]. Several examples were shown of effects possible by manually editing the NODES lump, including passageways that shut when the player is close to them, structures that disappear at certain angles, and manual SEGS editing to achieve a "fake wall" effect.

Caveats[edit]

  • Because this is a trick involving BSP structures, things may not be displayed properly through a linguortal. However, it is suggested that midtextures could be used to simulate decorations.
  • On some source ports that use the original BSP, textures may be warped.
  • As linguortals require a modified BSP, certain source ports that rebuild the BSP will not display the setup. Additionally, source ports that use GLNODES will not display the effect. It is not yet known if GLNODES can be modified to display the effect.

How it works[edit]

Typical linguortal setup.

Linguortals are created by re-routing the path the BSP tree takes on a split, and repositioning the SEG rendering locations to be within the player's view. It is possible to create a linguortal setup by drawing a viewpoint sector into a wall, usually a box, and a symmetrical triangle sector, where the widest side touches the box. When the nodes are built, the triangle becomes its own subsector. With this in mind, the BSP tree is modified to "jump" from the original node attached to the triangle subsector to another node entirely. As Doom has no idea of the modification, it will jump to the contents of the substituted node.

However, a linguortal will not render unless the SEGS in the substituted node's viewpoint are moved in front of the viewpoint line. To accomplish this, additional vertices must be placed within the same relative distance as the separate area, with SEGS attached to these vertices. As of this writing, this must be performed manually in a hex editor.

See also[edit]

References[edit]

  1. Doomworld forums thread