Skip to content

system_map.tbl

github-actions[bot] edited this page Nov 3, 2026 · 2 revisions

SCPUI 1.1.0 The system_map.tbl is used by SCPUI's Local System Map extension to define the system map and its progression within a mod's System Map UI screen.

This table is one of the Modular Tables and can be extended with xxx-smap.tbm. Objects, campaign configs and systems from all files are merged by name. A later file that uses the same name replaces the earlier entry completely.

Code: /sysmap_ui/data/scripts/scpui_ext_sysmap.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. #Objects
  3. #Config
  4. #Systems
  5. Sample
Field index (every field, one per line in table order; click one to jump to it)

#Objects

#Config

#Systems


Format

  • Defines the map options, configuration, and layout.
  • Every section is optional, but the sections that are present must appear in this order: #Objects, #Config, #Systems.
  • Conventionally ends with #End. The parser does not check for it.

#Objects

  • Defines all of the objects that can be shown on the system map.

$Name:

  • The name of the object. Must be unique. A duplicate name in the same file shows a warning and replaces the earlier object.
  • Syntax: String

$Display Name:

  • Optional. The display name for the object.
  • Syntax: String
  • Default: the $Name: value

$Bitmap:

  • Optional. The bitmap icon to display for the object.
  • SCPUI shows a warning if it is missing.
  • Syntax: String

$Large Bitmap:

  • Optional. If defined, the closeup view of the object will show this bitmap.
  • Takes precedence over Ship Class and Prop Class.
  • An empty value shows a warning.
  • Syntax: String
  • Default: nothing

$Ship Class:

  • Optional. If defined, the closeup view of the object will show this ship model.
  • Takes precedence over Prop Class. Ignored if Large Bitmap is defined.
  • SCPUI shows a warning if the ship class does not exist.
  • Syntax: String
  • Default: nothing

$Prop Class:

SCPUI 1.1.4

  • Optional. If defined, the closeup view of the object will show this prop model.
  • Ignored if Large Bitmap or Ship Class is defined.
  • SCPUI shows a warning if the prop class does not exist.
  • Syntax: String
  • Default: nothing

$Description:

  • Optional. The description text for the object.
  • Syntax: String
  • Default: nothing

$Use Tech Description:

  • Optional. Whether or not to use the defined ship class' tech description instead of the plain text description.
  • Requires Ship Class. If true without a Ship Class, SCPUI shows a warning and sets it to false.
  • Syntax: Boolean
  • Default: false

#Config

  • This section maps system definitions to missions in the mod's campaigns.

$Campaign:

  • The file name of the campaign to set up a config for, without extension.
  • A duplicate campaign shows a warning and replaces the earlier config.
  • Syntax: String

+Default System:

  • Required. The default system to display.
  • Syntax: String

$Mission Map:

  • Maps one mission to a system definition. Contains no value.
  • Repeat $Mission Map: for each mission.
+Mission:
  • Required. The mission file name to map, including the .fs2 extension.
  • Syntax: String
+System:
  • Required. The system definition to map the mission to.
  • Syntax: String

#Systems

  • Defines all the systems that can be displayed. A system includes a stellar objects, stations, ships, etc. Can be localized around a star, planet, or whatever. Systems can link to one another so be careful not to do anything infinitely recursive!

$Name:

  • The name of the system.
  • Must be unique. A duplicate name in the same file shows a warning and replaces the earlier system.
  • Syntax: String

$Display Name:

  • Required. The name as displayed to the player.
  • Syntax: String

$Background:

  • Required. The background image to display behind the map.
  • Syntax: String

$Description:

  • Optional. The description of the system. Should be very short text.
  • Syntax: String
  • Default: an empty string

$Zoom Out To:

  • Optional. The name of the system to "zoom out" to or go back to. Must be one of the system defines and is validated after parsing. An unknown system is an error.
  • Syntax: String
  • Default: nothing

$Element:

  • Begins an element on the map of the system. Contains no value; the element is identified by its +Object.
  • Systems can have unlimited elements. Each +Object can appear once per system. A second element with the same +Object replaces the first.

+Object:

  • Required. The Object from #Objects that this element represents.
  • An unknown object is an error.
  • Syntax: String

+Name Override:

  • Optional. The string to override the object's name with.
  • Syntax: String

+Icon Override:

  • Optional. The icon to override the object's icon with.
  • Syntax: String

+Selectable:

  • Optional. Whether or not the element is selectable.
  • Syntax: Boolean
  • Default: true

+Visible:

  • Optional. Whether or not the element is visible.
  • Syntax: Boolean
  • Default: true

+Show Orbit:

  • Optional. Whether or not the element's orbit is rendered.
  • Syntax: Boolean
  • Default: false

+Show New:

  • Optional. Whether or not the element will display as new or not seen if the player has never clicked on it before.
  • Syntax: Boolean
  • Default: true

+Show New Persist:

  • Optional. Whether or not the "NEW!" marker will try to persist across elements of the same name across defined Systems.
  • Syntax: Boolean
  • Default: true

+Zoom To:

  • Optional. The system to "zoom in" to if possible, such as zoom into local planetary systems from solar systems.
  • Must be a defined System. An unknown system is an error.
  • Syntax: String
  • Default: nothing

+Model Rotation Speed:

  • Optional. How fast the ship or prop model will rotate in the closeup view, in degrees per second.
  • Syntax: Float
  • Default: about 28.6 (SCPUI uses 0.5 radians per second when this is omitted)

+Model Orientation:

  • Optional. The model orientation as Pitch, Bank, Heading, in degrees.
  • The parentheses are optional. A missing value defaults to 0.
  • Syntax: (Float, Float, Float)
  • Default: (0,0,0)

+Offset:

  • Optional. The elements offset from it's angle and distance position, as X, Y in map pixels.
  • The parentheses are optional. A missing value defaults to 0.
  • Syntax: (Float, Float)
  • Default: (0, 0)

+Orbits:

  • Optional. The element this element orbits, if any. Must be the +Object of another element in this system. An unknown element is an error.
  • Syntax: String
  • Default: nothing

+Orbit Angle:

  • Optional. The angle in degrees this element will be placed in an arc on its orbit.
  • Syntax: Float
  • Default: 0

+Orbit Distance:

  • Optional. The distance this element's orbit is from it's parent, in map pixels.
  • Syntax: Float
  • Default: 0

+Orbit Width:

  • Optional. The width of the rendered orbit, if rendered.
  • Syntax: Float
  • Default: 3

+Orbit Color:

  • Optional. The color of the rendered orbit, if rendered, as Red, Green, Blue, Alpha.
  • The parentheses are optional. A missing color value defaults to 128 and a missing alpha to 255.
  • Syntax: (Integer, Integer, Integer, Integer)
  • Default: (128, 128, 128, 255)

Sample

#Objects

$Name: Antares Major & Minor
$Display Name: XSTR("Antares Major & Minor", 4528)
$Bitmap: nav_star_ant
$Large Bitmap: ant_suns
$Description: XSTR("ANTARES MAJOR AND MINOR: The binary star of the Antares system. Antares Major is a supergiant star, and Antares Minor is its smaller companion. The two stars are bridged by the dangerous Iraklion Corridor.", 4664)

$Name: Antares I
$Display Name: XSTR("Antares I", 4523)
$Bitmap: nav_planet_g
$Ship Class: Planet-Antares1
$Description: XSTR("RUDD'S LANDING: The closest planet to Antares Major and Minor, this rocky world is bathed in solar radiation and heat, making it uninhabitable. The only Terran-built structures are automated mines, built deep underground to shelter them from the suns' heat.", 4659)

#Config
$Campaign: bta1_m
+Default System: Antares101

$Mission Map:
+Mission: bta1_m1_01.fs2
+System: Antares101

#Systems
$Name: Antares101
	$Display Name: XSTR("Antares System", 2015)
	$Background: nav_sys_ant
	$Description: XSTR("GTA Controlled", 4507)
	$Element:
		+Object: Antares Major & Minor
		+Zoom To: Antares101ZoomStars
	$Element:
		+Object: Antares I
		+Show Orbit: true
		+Model Rotation Speed: 0.5
		+Model Orientation: (4, 8, 180)
		+Orbit Angle: 270
		+Orbit Distance: 127
		+Orbit Color: (32, 152, 32, 55)

$Name: Antares101ZoomStars
	$Display Name: XSTR("Antares Major & Minor", -1)
	$Background: nav_sys_ant
	$Zoom Out To: Antares101
	$Element:
		+Object: Antares Major & Minor

#End

Clone this wiki locally