Nodemap.tbl

From FreeSpace Wiki
Revision as of 18:54, 23 April 2025 by MjnMixael (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
SCPUI-trim.png
This feature requires SCPUI
List of Tables and related code files
* Notes Modular Tables
** Notes tables which only use modular tables
Ai.tbl* /ai/aicode.cpp
Ai_profiles.tbl* /ai/ai_profiles.cpp
Animation.tbl** /model/modelanimation.cpp
Armor.tbl* /ship/ship.cpp
Asteroid.tbl* /asteroid/asteroid.cpp
Autopilot.tbl* /autopilot/autopilot.cpp
Cheats.tbl* /cheats_table/cheats_table.cpp
Colors.tbl* /globalincs/alphacolors.cpp
Curves.tbl* /math/curves.cpp
Controlconfigdefaults.tbl /controlconfig/controlsconfigcommon.cpp
Credits.tbl* /menuui/credits.cpp
Cutscenes.tbl* /cutscene/cutscenes.cpp
Decals.tbl** /decals/decals.cpp
Fireball.tbl* /fireball/fireballs.cpp
Fonts.tbl* /graphics/font.cpp
Game_settings.tbl* /mod_table/mod_table.cpp
Glowpoints.tbl* /model/modelread.cpp
Help.tbl* /gamehelp/contexthelp.cpp
Hud_gauges.tbl* /hud/hudparse.cpp
Icons.tbl* /mission/missionbriefcommon.cpp
Iff_defs.tbl* /iff_defs/iff_defs.cpp
Keywords.tbl* Not In Codebase
Lighting_Profiles.tbl* /lighting/lighting_profiles.cpp
Lightning.tbl* /nebula/neblightning.cpp
Mainhall.tbl* /menuui/mainhallmenu.cpp
Medals.tbl* /stats/medals.cpp
Messages.tbl* /mission/missionmessage.cpp
Mflash.tbl* /weapon/muzzleflash.cpp
Music.tbl* /gamesnd/eventmusic.cpp
Nebula.tbl* /nebula/neb.cpp
Objecttypes.tbl* /ship/ship.cpp
Options.tbl* Not In Codebase
Particle effects(-part.tbm)** /particle/effects...
Post_processing.tbl /graphics/gropenglpostprocessing.cpp
Rank.tbl* /stats/scoring.cpp
Scpui.tbl* Not In Codebase
Scripting.tbl* /parse/scripting.cpp
Ships.tbl* /ship/ship.cpp
Sexps.tbl** /parse/sexp/sexp_lookup.cpp
Sounds.tbl* /gamesnd/gamesnd.cpp
Species_defs.tbl* /species_defs/species_defs.cpp
Species.tbl* /menuui/techmenu.cpp
Ssm.tbl* /hud/hudartillery.cpp
Stars.tbl* /starfield/starfield.cpp
Strings.tbl* /localization/localize.cpp
Tips.tbl* /menuui/playermenu.cpp
Traitor.tbl* /stats/scoring.cpp
Tstrings.tbl* /localization/localize.cpp
Virtual_pofs.tbl* /model/modelreplace.cpp
Weapon_expl.tbl* /weapon/weapons.cpp
Weapons.tbl* /weapon/weapons.cpp

Nodemap.tbl is used by the SCPUI script system to define the node map and its progression within a mod's Node Map UI screen.

Nodemap.tbl can be extended with xxx-nmap.tbm.

Nodemap.tbl

  • Defines the map options, configuration, and layout.
  • Begins with one of the configuration sections and ends with #End

#Node Map Icons

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

$Name:

  • The name of the icon. Usually a color.
  • Syntax: string

+File Base:

  • The image file to use for the icon.
  • 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.
  • Syntax: string

+Red:

  • The red value for the color
  • Syntax: integer

+Green:

  • The green value for the color
  • Syntax: integer

+Blue:

  • The blue value for the color
  • Syntax: integer

#Node Map Systems

  • Defines all the systems on the map and their location

$Name:

  • The name of the system.
  • Must be unique
  • Syntax: string

$Display Name:

  • The name as displayed to the player.
  • Syntax: string

$Hide Label:

  • Hides the system name if true.
  • Optional, defaults to false
  • Syntax: boolean

$Description:

  • The description of the system.
  • Optional, defaults to an empty string
  • Syntax: string

$Controlling Faction:

  • The name of the controlling faction of the of the system.
  • Optional, defaults to an empty string
  • Syntax: string

$Type Of System:

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

$X Coordinate:

  • The X coordinate of the system on the map
  • Syntax: float

$Y Coordinate:

  • The Y coordinate of the system on the map
  • Syntax: float

$Color:

  • The Color of the system. Should be one of the Node Map Icons listed in the #Node Map Icons section
  • Syntax: float

$Visible:

  • Whether or not the system is visible on the map
  • Optional, defaults to true
  • Syntax: boolean

$Selectable:

  • Whether or not the system is selectable on the map
  • Optional, defaults to true
  • Syntax: boolean

$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 in the entire map. IE: You can have AntaresNode1 and AntaresNode2, etc.
  • Syntax: string

+Angle:

  • The degree where the node should be placed around the system it is attached to
  • Syntax: integer

+Color:

  • The color the node should be drawn with. Should match one of the #Node Map Colors defined above.
  • Syntax: string

+Enforce Line Color:

  • 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.
  • Optional, defaults to false
  • Syntax: boolean

+Do Not Connect:

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

$Progression:

  • Begins a progression definition that overrides all previous values based on the mod's custom progression system.
  • Progression is defined through a UI Topic
  • Progression should return a numeric value. Highest value wins.
  • The value here is passed to the progression function
  • string

+Description:

  • The new description to use for this progression.
  • Optional
  • string

+Append Description:

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

+Controlling Faction:

  • The new controlling faction to use for this progression
  • Optional
  • string

+Color:

  • The new color to use. Should be one of the previously defined icons.
  • Optional
  • string

+Node:

  • Defines a progression for a specific node. The value should be the name of the node to progress.
  • Optional
  • string
+Color:
  • The new color to use. Should be one of the previously defined colors.
  • Optional
  • string
+Enforce Line Color:
  • The new enforcement value to use.
  • Optional
  • boolean
+Do Not Connect:
  • The new connection value to use.
  • Optional
  • boolean


Example

#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