Skip to content

street_util_serialized

Source: base/tealdef/scripts/construction/street_util_serialized.d.tl

Notes

Types of /scripts/construction/street_util_serialized.tl (StreetUtilSerialized): helpers that append street/track edges (position, tangent, optional tag) to an edge list.

StreetUtilSerialized

record global base/tealdef/scripts/construction/street_util_serialized.d.tl:3

global record StreetUtilSerialized

Load: local street_util_serialized = require "/scripts/construction/street_util_serialized.tl"

Notes

Street/track edge helpers returned by ug_require "/scripts/construction/street_util_serialized.tl".

Types

Name Definition Description
Edge {Vec3Serialized.Table3, Vec3Serialized.Table3, string} One node of an edge list: {position, tangent, tag}. Two consecutive entries form one edge (start and end node).

Functions

calcScale(dist : number, angle : number) : number base/tealdef/scripts/construction/street_util_serialized.d.tl:10

Call as street_util_serialized.calcScale

Calculate the scale factor for a street segment based on distance and angle.

Parameter Type Description
dist number distance between endpoints
angle number angle between tangents in radians

Returns number: scale factor

Used in the base game: 2 times in 2 files

base/content/infrastructure/street_construction/street_construction/street_constructions.script.lua:41

local scale = street_util_serialized.calcScale(length, angle) * 0.8
base/content/scripts/scripts/construction/laneutil.lua:48
local scale = street_util_serialized.calcScale(length, angle)

addStraightEdge(edges : {Edge}, p0 : Vec3Serialized.Vec3, p1 : Vec3Serialized.Vec3, tag0? : string, tag1? : string) base/tealdef/scripts/construction/street_util_serialized.d.tl:16

Call as street_util_serialized.addStraightEdge

Add a straight edge between two points.

Parameter Type Description
edges {Edge} edge list to append to
p0 Vec3Serialized.Vec3 start position
p1 Vec3Serialized.Vec3 end position
tag0? string
tag1? string
Used in the base game: 29 times in 1 file

base/content/infrastructure/street_construction/street_construction/street_constructions.script.lua:119

street_util_serialized.addStraightEdge(ledges, vec3.new(x[1],  y[4], 0), vec3.new(x[2], y[4], 0), nil, "we-west2")

addRamp(edges : {Edge}, p0 : Vec3Serialized.Vec3, p1 : Vec3Serialized.Vec3, tag0? : string, tag1? : string) base/tealdef/scripts/construction/street_util_serialized.d.tl:22

Call as street_util_serialized.addRamp

Add a ramp edge with slope 0 at both endpoints.

Parameter Type Description
edges {Edge} edge list to append to
p0 Vec3Serialized.Vec3 start position
p1 Vec3Serialized.Vec3 end position
tag0? string
tag1? string
Used in the base game: 14 times in 1 file

base/content/infrastructure/street_construction/street_construction/street_constructions.script.lua:120

street_util_serialized.addRamp(ledges, vec3.new(x[2],  y[4], 0), vec3.new(x[3],  y[4], z[1]), "we-west2", "we-west")

addEdge(edges : {Edge}, p0 : Vec3Serialized.Vec3, p1 : Vec3Serialized.Vec3, t0 : Vec3Serialized.Vec3, t1 : Vec3Serialized.Vec3, tag0? : string, tag1? : string) base/tealdef/scripts/construction/street_util_serialized.d.tl:30

Call as street_util_serialized.addEdge

Add an edge with explicit tangents at both endpoints.

Parameter Type Description
edges {Edge} edge list to append to
p0 Vec3Serialized.Vec3 start position
p1 Vec3Serialized.Vec3 end position
t0 Vec3Serialized.Vec3 tangent at start
t1 Vec3Serialized.Vec3 tangent at end
tag0? string
tag1? string
Used in the base game: 2 times in 1 file

base/content/infrastructure/street_construction/street_construction/street_constructions.script.lua:61

street_util_serialized.addEdge(

addEdgeAutoTangents(edges : {Edge}, p0 : Vec3Serialized.Vec3, p1 : Vec3Serialized.Vec3, t0 : Vec3Serialized.Vec3, t1 : Vec3Serialized.Vec3, tag0? : string, tag1? : string) base/tealdef/scripts/construction/street_util_serialized.d.tl:39

Call as street_util_serialized.addEdgeAutoTangents

Add an edge with automatically computed tangents.

Parameter Type Description
edges {Edge} edge list to append to
p0 Vec3Serialized.Vec3 start position
p1 Vec3Serialized.Vec3 end position
t0 Vec3Serialized.Vec3 tangent hint at start
t1 Vec3Serialized.Vec3 tangent hint at end
tag0? string
tag1? string
Used in the base game: 68 times in 1 file

base/content/infrastructure/street_construction/street_construction/street_constructions.script.lua:29

street_util_serialized.addEdgeAutoTangents(dir.z > 0 and edges or edgesBridge, p0, pI, t0, dir, tag0, nil)

freeAllNodes(edges : {Edge}) : {integer} base/tealdef/scripts/construction/street_util_serialized.d.tl:46

Call as street_util_serialized.freeAllNodes

Get indices of all nodes in the edge list as free (unconnected) node indices (0-based).

Parameter Type Description
edges {Edge} edge list

Returns {integer}: list of free node indices

Used in the base game: 27 times in 2 files

base/content/infrastructure/street_construction/street_construction/street_constructions.script.lua:228

freeNodes = street_util_serialized.freeAllNodes(ledges),
base/content/scripts/scripts/construction/constructionutil.lua:79
res.freeNodes = street_util_serialized.freeAllNodes(edges)