Skip to content

nodemap.tbl

github-actions[bot] edited this page Oct 28, 2026 · 1 revision

SCPUI 1.1.0 The nodemap.tbl is used by SCPUI's Node Map extension to define the node map and its progression within a mod's Node Map UI screen.

This table is one of the Modular Tables and can be extended with xxx-nmap.tbm.

Code: /nodemap_ui/data/scripts/scpui_ext_nodemap.lua. See Tables for every table.

Badges show the SCPUI version a field or behavior was added in. Fields without a badge arrived with the table.

Contents

  1. Format
  2. #Node Map Icons
  3. #Node Map Colors
  4. #Node Map Systems
  5. Sample
Field index (every field, one per line in table order; click one to jump to it)

#Node Map Icons

#Node Map Colors

#Node Map Systems


Format

  • Defines the map options, configuration, and layout.
  • Every section is optional, but the sections that are present must appear in this order: #Node Map Icons, #Node Map Colors, #Node Map Systems.
  • The whole file ends with a single #End after the last section. This applies to every -nmap.tbm as well, since each one is parsed as a complete table.

#Node Map Icons

  • Defines the available icons, assigned as Colors for each map system.

$Name:

  • The name of the icon. Usually a color.
  • Not case-sensitive.
  • Syntax: String

+File Base:

  • Required. The image file to use for the icon.
  • Any extension is stripped.
  • Syntax: String

#Node Map Colors

  • This section is shorthand to define colors used for the nodes attached to each system.

$Name:

  • The name of the color.
  • Not case-sensitive.
  • Syntax: String

+Red:

  • Required. The red value for the color.
  • Clamped to 0-255.
  • Syntax: Integer

+Green:

  • Required. The green value for the color.
  • Clamped to 0-255.
  • Syntax: Integer

+Blue:

  • Required. The blue value for the color.
  • Clamped to 0-255.
  • Syntax: Integer

#Node Map Systems

  • Defines all the systems on the map and their location

$Name:

  • The name of the system.
  • Must be unique. A duplicate name is an error.
  • Syntax: String

$Display Name:

  • Optional. The name as displayed to the player.
  • Syntax: String
  • Default: the $Name: value

$Hide Label:

  • Optional. Hides the system name if true.
  • Syntax: Boolean
  • Default: false

$Description:

  • Optional. The description of the system.
  • Syntax: String
  • Default: an empty string

$Controlling Faction:

  • Optional. The name of the controlling faction of the system.
  • Syntax: String
  • Default: an empty string

$Type Of System:

  • Optional. The type of the system (binary, trinary, etc).
  • Syntax: String
  • Default: an empty string

$X Coordinate:

  • Required. The X coordinate of the system on the map, as a fraction of the map width.
  • Clamped to 0-1.
  • Syntax: Float

$Y Coordinate:

  • Required. The Y coordinate of the system on the map, as a fraction of the map height.
  • Clamped to 0-1.
  • Syntax: Float

$Color:

  • Required. The Color of the system. Should be one of the Node Map Icons listed in the #Node Map Icons section (not case-sensitive).
  • If no icon with that name exists, SCPUI shows a warning and uses green.
  • Syntax: String

$Visible:

  • Optional. Whether or not the system is visible on the map.
  • Syntax: Boolean
  • Default: true

$Selectable:

  • Optional. Whether or not the system is selectable on the map.
  • Syntax: Boolean
  • Default: true

$Node:

  • Defines a node for the system. Each system can have unlimited nodes. Nodes are automatically connected to each other based on these configuration settings.
  • The value should be the node name and must be unique within the system. A duplicate node name in the same system is an error.
  • Syntax: String

+Angle:

  • Required. The degree where the node should be placed around the system it is attached to. 0 is straight up and the angle increases clockwise.
  • Syntax: Integer

+Color:

  • Required. The color the node should be drawn with. Should match one of the #Node Map Colors defined above (not case-sensitive).
  • If no color with that name exists, SCPUI shows a warning and uses blue.
  • Syntax: String

+Enforce Line Color:

  • Optional. If true, the line color from this node will always attempt to match the color of the node. Hierarchy of the table may change expected behavior.
  • Syntax: Boolean
  • Default: false

+Do Not Connect:

  • Optional. If true, there will be no line connecting this node to another node ever.
  • Syntax: Boolean
  • Default: false

$Progression:

  • Begins a progression definition that overrides all previous values based on the mod's custom progression system.
  • Progression is defined through the nodemap.progressionFunction UI Topic, which returns a function. The value here is passed to that function, which should return a number. Without a custom function every progression gets a value of 1.
  • A progression applies once the player's current progress (from the nodemap.progress UI Topic) is greater than or equal to its value. If several apply, the one with the highest value wins.
  • Syntax: String

+Description:

  • Optional. The new description to use for this progression.
  • Syntax: String

+Append Description:

  • Optional. The string to append to the most recent full description.
  • Syntax: String

+Controlling Faction:

  • Optional. The new controlling faction to use for this progression.
  • Syntax: String

+Color:

  • Optional. The new color to use. Should be one of the previously defined icons (not case-sensitive).
  • If no icon with that name exists, SCPUI shows a warning and uses green.
  • Syntax: String

+Node:

  • Optional. Defines a progression for a specific node. The value should be the name of the node to progress.
  • Syntax: String
+Color:
  • Optional. The new color to use. Should be one of the previously defined colors (not case-sensitive).
  • If no color with that name exists, SCPUI shows a warning and uses blue.
  • Syntax: String
+Enforce Line Color:
  • Optional. The new enforcement value to use.
  • Syntax: Boolean
+Do Not Connect:
  • Optional. The new connection value to use.
  • Syntax: Boolean

Sample

#Node Map Icons

$Name: Red
	+File Base: nav_planet_r

$Name: Green
	+File Base: nav_planet_g

$Name: Blue
	+File Base: nav_planet_b

$Name: Yellow
	+File Base: nav_planet_y

$Name: Orange
	+File Base: nav_planet_o

$Name: Purple
	+File Base: nav_planet_p

$Name: Teal
	+File Base: nav_planet_t

$Name: White
	+File Base: nav_planet_w

$Name: Green/Yellow
	+File Base: nav_planet_gy

$Name: Unknown
	+File Base: nav_planet_u

#Node Map Colors

$Name: Blue
	+Red: 160
	+Green: 245
	+Blue: 255

$Name: White
	+Red: 215
	+Green: 215
	+Blue: 215

$Name: Purple
	+Red: 215
	+Green: 70
	+Blue: 215

#Node Map Systems

$Name: Sol
$Display Name: XSTR("Sol", 10392)
$Description: XSTR("In 2335, the destruction of the Shivan command ship <span class='italic'>Lucifer</span> collapsed the Sol jump node in Delta Serpentis, cutting off nearly half of humanity from interstellar travel. The shocks to the Terran economic, social, and political landscape were immediate and overwhelming. For generations, Earth had been the center of Terran civilization. Humans still measured time in hours, days, months, and years$semicolon they named their ships after the mythological figures of ancient Terran civilizations, and their systems according to the constellations seen by ancient astronomers. The planet served as capital of the Galactic Terran Alliance, and the bulk of the Terran industrial base was located in the Sol system. Old ethnic and national identities still remained relevant even as new ones established themselves, and old forms of art and philosophy still resonated with modern audiences. The destruction of the Shivan flagship may have saved the Terran people, but in doing so, it ripped away their identity.<br/><br/>The fate of the Terran home planet remains open to speculation, though mainstream views paint a fairly bleak picture. As the center of an interstellar community, Earth could not survive in isolation without a radical transformation of its political and economic structures, but there is significant debate as to whether this transition will occur peacefully or whether Solar society will collapse into anarchy. One school of thought posits a rehash of the Unification War, pointing to the deep cultural divisions between Earth, Mars, and trans-Jovian space. Others take a more optimistic view, citing the Juan de Fuca disaster and subsequent evacuation of the North American continent to offworld habitats as a model that could be adapted. Either way, even the most optimistic estimates view a multi-decade economic depression as all but inevitable.<br/><br/>Discovering the means to return home remains a high priority. The Alliance has invested heavily into long-overlooked research subjects, hoping to either restart the jump node or develop a novel means of faster-than-light propulsion. Meanwhile, proposals to establish radio- or laser-based communication platforms in Alpha Centauri are being considered, albeit with some bemusement from the system's largely Vasudan population. The ultimate success of such a project, of course, will depend on who's left to receive it.", 10393)
$Controlling Faction: XSTR("Unknown", 2461)
$Type Of System: XSTR("Singular", 10394)
$X Coordinate: 0.42
$Y Coordinate: 0.73
$Color: White
$Node: Delta Serpentis
	+Angle: 110
	+Color: White
	+Do Not Connect: true

$Name: Altair
$Display Name: XSTR("Altair", 5245)
$Description: XSTR("The Altair system is highly unusual in multiple ways. The Altair star rotates at roughly 286 kilometers per second at the equator, leading to the star being significantly flattened by rotational effects. More importantly, during the Shivan Incursion, ruins of an alien civilization were discovered on Altair IV. Archaeological records suggest that this civilization, designated $quoteAncients$quote, were destroyed by their own Shivan incursion eight millennia ago. Shortly before their destruction, the $quoteAncients$quote cached militarily useful technology on their former colony worlds - most critically, technology to track vessels through subspace, where Shivan shield systems do not function. This technology directly lead to the destruction of the Shivan <span class='italic'>Lucifer</span> and the end of the Shivan Incursion.<br/><br/>Altair was formerly a minor colony of the Vasudan Empire, most notably holding the headquarters and primary shipyard of the Sahr Corporation. During the Shivan Incursion, much of the fleet in Altair defected to the Hammer of Light and drove out the loyalist forces, providing the Hammer with a well-stocked, well-defended base. Subspace geography should have left the Hammer of Light isolated in Altair$semicolon the presence of Ancient ruins, however, suggests that Altair may have an uncharted jump node, which the Hammer may have discovered and taken advantage of.", 10407)
$Controlling Faction: XSTR("Hammer of Light", 743)
$Type Of System: XSTR("Singular", 10394)
$X Coordinate: 0.11
$Y Coordinate: 0.25
$Color: Red
$Node: Unknown Altair
	+Angle: 45
	+Color: Purple
$Node: Aldebaran
	+Angle: 200
	+Color: Blue
$Progression: bta2_d
	+Append Description: XSTR(" During a failed GTA/PVN assault on these shipyards, the <span class='italic'>HLC Taweret</span> displayed unconventional FTL capabilities, which may provide an alternative explanation.", 10408)
$Progression: bta2_m4_01
	+Append Description: XSTR(" The discovery of the Lascaux network in Luyten has effectively confirmed this theory.", 10409)
$Progression: bta-tem_m
	+Description: XSTR("The Altair system is highly unusual in multiple ways. The Altair star rotates at roughly 286 kilometers per second at the equator, leading to the star being significantly flattened by rotational effects. More importantly, during the Shivan Incursion, ruins of an alien civilization were discovered on Altair IV. Archaeological records suggest that this civilization, designated $quoteAncients$quote, were destroyed by their own Shivan incursion eight millennia ago. Shortly before their destruction, the $quoteAncients$quote cached militarily useful technology on their former colony worlds - most critically, technology to track vessels through subspace, where Shivan shield systems do not function. This technology directly lead to the destruction of the Shivan <span class='italic'>Lucifer</span> and the end of the Shivan Incursion.<br/><br/>Altair was formerly a minor colony of the Vasudan Empire, most notably holding the headquarters and primary shipyard of the Sahr Corporation. During the Shivan Incursion, much of the fleet in Altair defected to the Hammer of Light and drove out the loyalist forces, providing the Hammer with a well-stocked, well-defended base. Subspace geography should have left the Hammer of Light isolated in Altair$semicolon the presence of Ancient ruins, however, suggests that Altair may have an uncharted jump node, which the Hammer may have discovered and taken advantage of.", 10407)
	+Controlling Faction: XSTR("Galactic TerranVasudan Alliance", 11365)
	+Color: Green


#End

Clone this wiki locally