API ReferenceGE ExtensionseditorroadSpline
Road Spline Layer Manager
Manages the DecalRoad layers within road spline groups - handles layer creation, removal, duplication, chunking for long splines, and all auto-generated detail layer types.
Manages the DecalRoad layers within road spline groups - handles layer creation, removal, duplication, chunking for long splines, and all auto-generated detail layer types.
Public API
| Function | Signature | Description |
|---|---|---|
M.getSliderDefaults | () | Returns default slider values (width=10, pos=0, priority=10, texLen=10, fade=1) |
M.deepCopyLayer | (layer) | Deep copies a single layer |
M.deepCopyAllLayers | (layers) | Deep copies an array of layers |
M.updateAllLayers | (group, groupIdx) | Updates all enabled layers in a group |
M.updateOnlyDirtyLayers | (group, groupIdx) | Updates only layers with isDirty flag set |
M.removeDecalRoadInLayer | (layer) | Removes the DecalRoad object(s) for a layer |
M.removeLayer | (idx, group) | Removes a layer at the given index |
M.removeAllLayers | (group) | Removes all layers from a group |
M.removeAllHiddenLayers | (group) | Removes all auto-generated (hidden) layers |
M.addNewLayer | (group) | Adds a new user layer with default properties |
M.duplicateLayer | (idx, group) | Duplicates a layer at the given index |
M.switchOffAllAutoLayers | (selGroup) | Disables all auto-generated layer flags |
M.serializeLayer | (layer) | Serializes a layer to a plain table |
M.deserializeLayer | (data) | Deserializes a layer from a table |
Auto-Generated Layer Functions (add/remove pairs)
| Add Function | Remove Function | Material |
|---|---|---|
addLightTreadMarksLayers | removeLightTreadMarksLayers | m_tread_marks_clean |
addHeavyTreadMarksLayers | removeHeavyTreadMarksLayers | road_rubber_double |
addRoadCrackLayers | removeRoadCrackLayers | m_asphalt_cracks_02 |
addRepair1Layers / addRepair2Layers | removeRepair1Layers / removeRepair2Layers | repair1 / repair2 |
addPatchesLayers | removePatchesLayers | road_patches1 |
addRoadDamageAsphalt1Layers | removeRoadDamageAsphalt1Layers | m_asphalt_damaged_01 |
addRoadDamageAsphalt2Layers | removeRoadDamageAsphalt2Layers | m_asphalt_damaged_02 |
addRoadCenterLineLayers | removeRoadCenterLineLayers | m_line_white_discontinue |
addRoadEdgeLinesLayers | removeRoadEdgeLinesLayers | m_line_white |
addRoadLaneLinesLayers | removeRoadLaneLinesLayers | m_line_white_discontinue |
addEdgeBlend1Layers | removeEdgeBlend1Layers | m_road_asphalt_edge |
addEdgeBlend2Layers | removeEdgeBlend2Layers | m_road_edge_dirt |
addEdgeBlend3Layers | removeEdgeBlend3Layers | m_road_asphalt_edge_grass |
Layer Data Structure
local layer = {
name = "New Layer 1",
id = "uuid",
isDirty = true,
isHidden = false, -- true for auto-generated layers
decalRoadId = nil,
decalRoadIds = {}, -- for chunked long splines
isEnabled = true,
material = "road_invisible",
isFlip = false,
isTrackWidth = true,
isOverObjects = false,
width = 10.0,
position = 0.0, -- lateral offset: -1=left, 0=center, 1=right
texLen = 10.0,
fadeIn = 1.0, fadeOut = 1.0,
renderPriority = 10,
}Notes
- Long splines (>100 divPoints) are automatically chunked into multiple DecalRoad objects
- Auto-generated layers are per-lane (left/right) based on road width and 5m lane spacing
- Uses RDP simplification on clipped/flipped polylines before creating DecalRoad nodes
Additional Exports
M.addEdgeBlend1LayersM.addEdgeBlend2LayersM.addEdgeBlend3LayersM.addHeavyTreadMarksLayersM.addLightTreadMarksLayersM.addPatchesLayersM.addRepair1LayersM.addRepair2LayersM.addRoadCenterLineLayersM.addRoadCrackLayersM.addRoadDamageAsphalt1LayersM.addRoadDamageAsphalt2LayersM.addRoadEdgeLinesLayersM.addRoadLaneLinesLayersM.removeEdgeBlend1LayersM.removeEdgeBlend2LayersM.removeEdgeBlend3LayersM.removeHeavyTreadMarksLayersM.removeLightTreadMarksLayersM.removePatchesLayersM.removeRepair1LayersM.removeRepair2LayersM.removeRoadCenterLineLayersM.removeRoadCrackLayersM.removeRoadDamageAsphalt1LayersM.removeRoadDamageAsphalt2LayersM.removeRoadEdgeLinesLayersM.removeRoadLaneLinesLayers
See Also
- Road Spline Group Manager - Related reference
- Road Spline Import - Related reference
- World Editor Guide - Guide
Road Spline Import
Handles importing DecalRoad objects into road spline groups - supports both direct selection and polygon-based selection, computing reference splines and relative layer properties.
Sidewalk Spline Kit
Handles loading sidewalk mesh kits from folders - discovers meshes, extracts anchor points, groups base meshes with variations, and builds distribution groups for piece selection.