GE Lua Documentation

Press F to search!

BoolPtr

Definition


-- @/lua/common/extensions/ui/imgui_custom_luaintf.lua:39
  function M.BoolPtr(x)
    if x == 0 then x = false end
    if x == 1 then x = true end
    if type(x) ~= 'boolean' then
      -- log('E', 'luaintf', 'conversion error')
      return {[0] = false}
    end
    return {[0] = x}
  end

Callers

@/lua/ge/extensions/editor/engineAudioDebug.lua

local showExhaustDirection = im.BoolPtr(true)
@/lua/ge/extensions/editor/rendererComponents.lua

local tempBoolPtr = im.BoolPtr(true)
local tempFloatPtr = im.FloatPtr(0)
        end
        s.cVal = im.BoolPtr(initialValue ~= 0)
      end
@/lua/ge/extensions/editor/gen/terrain.lua
        ,{path='/levels/gridmap_v2/art/terrains/dirt_overlay.color.png',selected=true}
        ,im.BoolPtr(false)
    --        , terrainImpExp.textureMaps, terrainImpExp.flipYAxis[0]
@/lua/ge/extensions/editor/trafficManager.lua
    vehicleClass = im.ArrayChar(128, ""),
    vehicleGroupEnabled = im.BoolPtr(false),
    vehicleGroupMode = im.IntPtr(1),
    vehicleGroupFile = im.ArrayChar(1024, ""),
    vehicleGroupRandomPaint = im.BoolPtr(false),
    vehicleMulti = im.IntPtr(1),
    distanceUnits = im.IntPtr(1),
    fullStats = im.BoolPtr(false),
    objPos = im.ArrayFloat(3),
    aiData = {},
    includePlayerVehicle = im.BoolPtr(false),
    signalsKeepOriginal = im.BoolPtr(true),
    includePlayerVehicle = im.BoolPtr(false),
    signalsKeepOriginal = im.BoolPtr(true),
    signalsSaveApart = im.BoolPtr(false),
    signalsKeepOriginal = im.BoolPtr(true),
    signalsSaveApart = im.BoolPtr(false),
    debugMode = im.BoolPtr(false)
    signalsSaveApart = im.BoolPtr(false),
    debugMode = im.BoolPtr(false)
  }
        if aiData.useSpeedLimit ~= nil then
          options.aiData.useSpeedLimit = options.aiData.useSpeedLimit or im.BoolPtr(aiData.useSpeedLimit)
          if im.Checkbox("Use Road Speed Limit##trafficManagerAi", options.aiData.useSpeedLimit) then
        if aiData.driveInLane ~= nil then
          options.aiData.driveInLane = options.aiData.driveInLane or im.BoolPtr(aiData.driveInLane)
          if im.Checkbox("Use Road Lanes##trafficManagerAi", options.aiData.driveInLane) then
        if aiData.avoidCars ~= nil then
          options.aiData.avoidCars = options.aiData.avoidCars or im.BoolPtr(aiData.avoidCars)
          if im.Checkbox("Avoid Collisions##trafficManagerAi", options.aiData.avoidCars) then

          options.aiData.enableTraffic = options.aiData.enableTraffic or im.BoolPtr(aiData.enableTraffic)
          if im.Checkbox("Use as Dynamic Traffic##trafficManagerAi", options.aiData.enableTraffic) then
@/lua/ge/extensions/editor/missionEditor/genericTypeData.lua

  self.rawCheckbox = im.BoolPtr(false)
end
@/lua/ge/extensions/editor/assetBrowser.lua
  im.PushID1("ThumbnailSizeSlider")
  local editEnded = im.BoolPtr(false)
  local cpos = im.GetCursorPos()
  if not var.fileTypes[fileType] then
    var.fileTypes[fileType] = {label = fileType, active = im.BoolPtr(true), icon = editor.icons.ab_asset_jbeam}
  end
  if not var.simpleFileTypes[simpleFileType] then
    var.simpleFileTypes[simpleFileType] = {label = simpleFileType, active = im.BoolPtr(true), icon = editor.icons.ab_asset_jbeam}
  end

local prefTempBoolPtr = im.BoolPtr(true)
local tempFloatArr3 = im.ArrayFloat(3)
@/lua/ge/extensions/editor/tech/roadArchitect/junctions.lua
  roadX1_I.isJctRoad = true
  profileX1_I.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileX1_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX1_I.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileX1_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX1_I.conditionEndStopS = im.BoolPtr(false)
  profileX1_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX1_I.conditionEndStopS = im.BoolPtr(false)
  profileX1_I.conditionEndStopE = im.BoolPtr(true)
  profileX1_I.conditionEndStopS = im.BoolPtr(false)
  profileX1_I.conditionEndStopE = im.BoolPtr(true)
  profileX1_I.isStopDecalS = im.BoolPtr(false)
  profileX1_I.conditionEndStopE = im.BoolPtr(true)
  profileX1_I.isStopDecalS = im.BoolPtr(false)
  profileX1_I.isStopDecalE = im.BoolPtr(false)
  profileX1_I.isStopDecalS = im.BoolPtr(false)
  profileX1_I.isStopDecalE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadX2_I.isJctRoad = true
  profileX2_I.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileX2_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX2_I.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileX2_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX2_I.conditionEndStopS = im.BoolPtr(false)
  profileX2_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX2_I.conditionEndStopS = im.BoolPtr(false)
  profileX2_I.conditionEndStopE = im.BoolPtr(true)
  profileX2_I.conditionEndStopS = im.BoolPtr(false)
  profileX2_I.conditionEndStopE = im.BoolPtr(true)
  profileX2_I.isStopDecalS = im.BoolPtr(false)
  profileX2_I.conditionEndStopE = im.BoolPtr(true)
  profileX2_I.isStopDecalS = im.BoolPtr(false)
  profileX2_I.isStopDecalE = im.BoolPtr(false)
  profileX2_I.isStopDecalS = im.BoolPtr(false)
  profileX2_I.isStopDecalE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadCR_X.isJctRoad = true
  profileCR_X.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileCR_X.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileCR_X.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileCR_X.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileCR_X.conditionCenterline = im.BoolPtr(false)
  profileCR_X.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileCR_X.conditionCenterline = im.BoolPtr(false)
  profileCR_X.conditionEdgesL = im.BoolPtr(false)
  profileCR_X.conditionCenterline = im.BoolPtr(false)
  profileCR_X.conditionEdgesL = im.BoolPtr(false)
  profileCR_X.conditionEdgesR = im.BoolPtr(false)
  profileCR_X.conditionEdgesL = im.BoolPtr(false)
  profileCR_X.conditionEdgesR = im.BoolPtr(false)
  profileCR_X.conditionLaneMarkings = im.BoolPtr(false)
  profileCR_X.conditionEdgesR = im.BoolPtr(false)
  profileCR_X.conditionLaneMarkings = im.BoolPtr(false)
  profileCR_X.conditionEndStopS = im.BoolPtr(false)
  profileCR_X.conditionLaneMarkings = im.BoolPtr(false)
  profileCR_X.conditionEndStopS = im.BoolPtr(false)
  profileCR_X.conditionEndStopE = im.BoolPtr(false)
  profileCR_X.conditionEndStopS = im.BoolPtr(false)
  profileCR_X.conditionEndStopE = im.BoolPtr(false)
  profileCR_X.isStopDecalS = im.BoolPtr(false)
  profileCR_X.conditionEndStopE = im.BoolPtr(false)
  profileCR_X.isStopDecalS = im.BoolPtr(false)
  profileCR_X.isStopDecalE = im.BoolPtr(false)
  profileCR_X.isStopDecalS = im.BoolPtr(false)
  profileCR_X.isStopDecalE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
        isHidden = false,
        doNotDelete = im.BoolPtr(true),
        isReverse = im.BoolPtr(false),
        doNotDelete = im.BoolPtr(true),
        isReverse = im.BoolPtr(false),
        isPaint = im.BoolPtr(false),
        isReverse = im.BoolPtr(false),
        isPaint = im.BoolPtr(false),
        isDisplay = im.BoolPtr(true),
        isPaint = im.BoolPtr(false),
        isDisplay = im.BoolPtr(true),
        type = im.IntPtr(5),
        laneMin = im.IntPtr(lMin), laneMax = im.IntPtr(lMin),
        lane = im.IntPtr(lMin), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
        width = im.FloatPtr(1.0),
        width = im.FloatPtr(1.0),
        isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
        texLen = im.FloatPtr(5),
        jitter = im.FloatPtr(0.0),
        useWorldZ = im.BoolPtr(false),
        matDisplay = 's_trafficlight_boom_ns.dae',
        isHidden = false,
        doNotDelete = im.BoolPtr(true),
        isReverse = im.BoolPtr(false),
        doNotDelete = im.BoolPtr(true),
        isReverse = im.BoolPtr(false),
        isPaint = im.BoolPtr(false),
        isReverse = im.BoolPtr(false),
        isPaint = im.BoolPtr(false),
        isDisplay = im.BoolPtr(true),
        isPaint = im.BoolPtr(false),
        isDisplay = im.BoolPtr(true),
        type = im.IntPtr(5),
        laneMin = im.IntPtr(lMin), laneMax = im.IntPtr(lMin),
        lane = im.IntPtr(lMin), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
        width = im.FloatPtr(1.0),
        width = im.FloatPtr(1.0),
        isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
        texLen = im.FloatPtr(5),
        jitter = im.FloatPtr(0.0),
        useWorldZ = im.BoolPtr(false),
        matDisplay = 's_trafficlight_boom_ns.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(true),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(true),
      type = im.IntPtr(2),
      laneMin = im.IntPtr(-numLanesX), laneMax = im.IntPtr(numLanesX),
      lane = im.IntPtr(1), isLeft = im.BoolPtr(true), off = im.FloatPtr((boxXHalf - 0.5 * pedXWidth) / boxX),
      width = im.FloatPtr(pedXWidth),
      width = im.FloatPtr(pedXWidth),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = '[None]',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(5),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(lMin), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_traf_sign_warn_zebra_warning.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(5),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(lMin), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_traf_sign_warn_zebra_warning.dae',
  roadX1_I.isJctRoad = true
  profileX1_I.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileX1_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX1_I.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileX1_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX1_I.conditionCenterline = im.BoolPtr(false)
  profileX1_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX1_I.conditionCenterline = im.BoolPtr(false)
  profileX1_I.conditionEdgesL = im.BoolPtr(false)
  profileX1_I.conditionCenterline = im.BoolPtr(false)
  profileX1_I.conditionEdgesL = im.BoolPtr(false)
  profileX1_I.conditionEdgesR = im.BoolPtr(false)
  profileX1_I.conditionEdgesL = im.BoolPtr(false)
  profileX1_I.conditionEdgesR = im.BoolPtr(false)
  profileX1_I.conditionLaneMarkings = im.BoolPtr(false)
  profileX1_I.conditionEdgesR = im.BoolPtr(false)
  profileX1_I.conditionLaneMarkings = im.BoolPtr(false)
  profileX1_I.conditionEndStopS = im.BoolPtr(false)
  profileX1_I.conditionLaneMarkings = im.BoolPtr(false)
  profileX1_I.conditionEndStopS = im.BoolPtr(false)
  profileX1_I.conditionEndStopE = im.BoolPtr(false)
  profileX1_I.conditionEndStopS = im.BoolPtr(false)
  profileX1_I.conditionEndStopE = im.BoolPtr(false)
  profileX1_I.isStopDecalS = im.BoolPtr(false)
  profileX1_I.conditionEndStopE = im.BoolPtr(false)
  profileX1_I.isStopDecalS = im.BoolPtr(false)
  profileX1_I.isStopDecalE = im.BoolPtr(false)
  profileX1_I.isStopDecalS = im.BoolPtr(false)
  profileX1_I.isStopDecalE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadX2_I.isJctRoad = true
  profileX2_I.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileX2_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX2_I.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileX2_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX2_I.conditionCenterline = im.BoolPtr(false)
  profileX2_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX2_I.conditionCenterline = im.BoolPtr(false)
  profileX2_I.conditionEdgesL = im.BoolPtr(false)
  profileX2_I.conditionCenterline = im.BoolPtr(false)
  profileX2_I.conditionEdgesL = im.BoolPtr(false)
  profileX2_I.conditionEdgesR = im.BoolPtr(false)
  profileX2_I.conditionEdgesL = im.BoolPtr(false)
  profileX2_I.conditionEdgesR = im.BoolPtr(false)
  profileX2_I.conditionLaneMarkings = im.BoolPtr(false)
  profileX2_I.conditionEdgesR = im.BoolPtr(false)
  profileX2_I.conditionLaneMarkings = im.BoolPtr(false)
  profileX2_I.conditionEndStopS = im.BoolPtr(false)
  profileX2_I.conditionLaneMarkings = im.BoolPtr(false)
  profileX2_I.conditionEndStopS = im.BoolPtr(false)
  profileX2_I.conditionEndStopE = im.BoolPtr(false)
  profileX2_I.conditionEndStopS = im.BoolPtr(false)
  profileX2_I.conditionEndStopE = im.BoolPtr(false)
  profileX2_I.isStopDecalS = im.BoolPtr(false)
  profileX2_I.conditionEndStopE = im.BoolPtr(false)
  profileX2_I.isStopDecalS = im.BoolPtr(false)
  profileX2_I.isStopDecalE = im.BoolPtr(false)
  profileX2_I.isStopDecalS = im.BoolPtr(false)
  profileX2_I.isStopDecalE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadY1_I.isJctRoad = true
  profileY1_I.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileY1_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileY1_I.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileY1_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileY1_I.conditionCenterline = im.BoolPtr(false)
  profileY1_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileY1_I.conditionCenterline = im.BoolPtr(false)
  profileY1_I.conditionEdgesL = im.BoolPtr(false)
  profileY1_I.conditionCenterline = im.BoolPtr(false)
  profileY1_I.conditionEdgesL = im.BoolPtr(false)
  profileY1_I.conditionEdgesR = im.BoolPtr(false)
  profileY1_I.conditionEdgesL = im.BoolPtr(false)
  profileY1_I.conditionEdgesR = im.BoolPtr(false)
  profileY1_I.conditionLaneMarkings = im.BoolPtr(false)
  profileY1_I.conditionEdgesR = im.BoolPtr(false)
  profileY1_I.conditionLaneMarkings = im.BoolPtr(false)
  profileY1_I.conditionEndStopS = im.BoolPtr(false)
  profileY1_I.conditionLaneMarkings = im.BoolPtr(false)
  profileY1_I.conditionEndStopS = im.BoolPtr(false)
  profileY1_I.conditionEndStopE = im.BoolPtr(false)
  profileY1_I.conditionEndStopS = im.BoolPtr(false)
  profileY1_I.conditionEndStopE = im.BoolPtr(false)
  profileY1_I.isStopDecalS = im.BoolPtr(false)
  profileY1_I.conditionEndStopE = im.BoolPtr(false)
  profileY1_I.isStopDecalS = im.BoolPtr(false)
  profileY1_I.isStopDecalE = im.BoolPtr(false)
  profileY1_I.isStopDecalS = im.BoolPtr(false)
  profileY1_I.isStopDecalE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadY2_I.isJctRoad = true
  profileY2_I.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileY2_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileY2_I.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileY2_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileY2_I.conditionCenterline = im.BoolPtr(false)
  profileY2_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileY2_I.conditionCenterline = im.BoolPtr(false)
  profileY2_I.conditionEdgesL = im.BoolPtr(false)
  profileY2_I.conditionCenterline = im.BoolPtr(false)
  profileY2_I.conditionEdgesL = im.BoolPtr(false)
  profileY2_I.conditionEdgesR = im.BoolPtr(false)
  profileY2_I.conditionEdgesL = im.BoolPtr(false)
  profileY2_I.conditionEdgesR = im.BoolPtr(false)
  profileY2_I.conditionLaneMarkings = im.BoolPtr(false)
  profileY2_I.conditionEdgesR = im.BoolPtr(false)
  profileY2_I.conditionLaneMarkings = im.BoolPtr(false)
  profileY2_I.conditionEndStopS = im.BoolPtr(false)
  profileY2_I.conditionLaneMarkings = im.BoolPtr(false)
  profileY2_I.conditionEndStopS = im.BoolPtr(false)
  profileY2_I.conditionEndStopE = im.BoolPtr(false)
  profileY2_I.conditionEndStopS = im.BoolPtr(false)
  profileY2_I.conditionEndStopE = im.BoolPtr(false)
  profileY2_I.isStopDecalS = im.BoolPtr(false)
  profileY2_I.conditionEndStopE = im.BoolPtr(false)
  profileY2_I.isStopDecalS = im.BoolPtr(false)
  profileY2_I.isStopDecalE = im.BoolPtr(false)
  profileY2_I.isStopDecalS = im.BoolPtr(false)
  profileY2_I.isStopDecalE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadCR_X.isJctRoad = true
  profileCR_X.isEdgeBlendL = im.BoolPtr(false)
  profileCR_X.isEdgeBlendR = im.BoolPtr(false)
  profileCR_X.isEdgeBlendL = im.BoolPtr(false)
  profileCR_X.isEdgeBlendR = im.BoolPtr(false)
  profileCR_X.conditionCenterline = im.BoolPtr(false)
  profileCR_X.isEdgeBlendR = im.BoolPtr(false)
  profileCR_X.conditionCenterline = im.BoolPtr(false)
  profileCR_X.conditionEdgesL = im.BoolPtr(false)
  profileCR_X.conditionCenterline = im.BoolPtr(false)
  profileCR_X.conditionEdgesL = im.BoolPtr(false)
  profileCR_X.conditionEdgesR = im.BoolPtr(false)
  profileCR_X.conditionEdgesL = im.BoolPtr(false)
  profileCR_X.conditionEdgesR = im.BoolPtr(false)
  profileCR_X.conditionLaneMarkings = im.BoolPtr(false)
  profileCR_X.conditionEdgesR = im.BoolPtr(false)
  profileCR_X.conditionLaneMarkings = im.BoolPtr(false)
  profileCR_X.conditionEndStopS = im.BoolPtr(false)
  profileCR_X.conditionLaneMarkings = im.BoolPtr(false)
  profileCR_X.conditionEndStopS = im.BoolPtr(false)
  profileCR_X.conditionEndStopE = im.BoolPtr(false)
  profileCR_X.conditionEndStopS = im.BoolPtr(false)
  profileCR_X.conditionEndStopE = im.BoolPtr(false)
  profileCR_X.isStopDecalS = im.BoolPtr(false)
  profileCR_X.conditionEndStopE = im.BoolPtr(false)
  profileCR_X.isStopDecalS = im.BoolPtr(false)
  profileCR_X.isStopDecalE = im.BoolPtr(false)
  profileCR_X.isStopDecalS = im.BoolPtr(false)
  profileCR_X.isStopDecalE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadCR_Y.isJctRoad = true
  profileCR_Y.isEdgeBlendL = im.BoolPtr(false)
  profileCR_Y.isEdgeBlendR = im.BoolPtr(false)
  profileCR_Y.isEdgeBlendL = im.BoolPtr(false)
  profileCR_Y.isEdgeBlendR = im.BoolPtr(false)
  profileCR_Y.conditionCenterline = im.BoolPtr(false)
  profileCR_Y.isEdgeBlendR = im.BoolPtr(false)
  profileCR_Y.conditionCenterline = im.BoolPtr(false)
  profileCR_Y.conditionEdgesL = im.BoolPtr(false)
  profileCR_Y.conditionCenterline = im.BoolPtr(false)
  profileCR_Y.conditionEdgesL = im.BoolPtr(false)
  profileCR_Y.conditionEdgesR = im.BoolPtr(false)
  profileCR_Y.conditionEdgesL = im.BoolPtr(false)
  profileCR_Y.conditionEdgesR = im.BoolPtr(false)
  profileCR_Y.conditionLaneMarkings = im.BoolPtr(false)
  profileCR_Y.conditionEdgesR = im.BoolPtr(false)
  profileCR_Y.conditionLaneMarkings = im.BoolPtr(false)
  profileCR_Y.conditionEndStopS = im.BoolPtr(false)
  profileCR_Y.conditionLaneMarkings = im.BoolPtr(false)
  profileCR_Y.conditionEndStopS = im.BoolPtr(false)
  profileCR_Y.conditionEndStopE = im.BoolPtr(false)
  profileCR_Y.conditionEndStopS = im.BoolPtr(false)
  profileCR_Y.conditionEndStopE = im.BoolPtr(false)
  profileCR_Y.isStopDecalS = im.BoolPtr(false)
  profileCR_Y.conditionEndStopE = im.BoolPtr(false)
  profileCR_Y.isStopDecalS = im.BoolPtr(false)
  profileCR_Y.isStopDecalE = im.BoolPtr(false)
  profileCR_Y.isStopDecalS = im.BoolPtr(false)
  profileCR_Y.isStopDecalE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadX1_O.isJctRoad = true
  profileX1_O.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileX1_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX1_O.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileX1_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX1_O.isStopDecalS = im.BoolPtr(false)
  profileX1_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX1_O.isStopDecalS = im.BoolPtr(false)
  profileX1_O.isStopDecalE = im.BoolPtr(false)
  profileX1_O.isStopDecalS = im.BoolPtr(false)
  profileX1_O.isStopDecalE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadX2_O.isJctRoad = true
  profileX2_O.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileX2_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX2_O.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileX2_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX2_O.isStopDecalS = im.BoolPtr(false)
  profileX2_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX2_O.isStopDecalS = im.BoolPtr(false)
  profileX2_O.isStopDecalE = im.BoolPtr(false)
  profileX2_O.isStopDecalS = im.BoolPtr(false)
  profileX2_O.isStopDecalE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadY1_O.isJctRoad = true
  profileY1_O.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileY1_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileY1_O.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileY1_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileY1_O.isStopDecalS = im.BoolPtr(false)
  profileY1_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileY1_O.isStopDecalS = im.BoolPtr(false)
  profileY1_O.isStopDecalE = im.BoolPtr(false)
  profileY1_O.isStopDecalS = im.BoolPtr(false)
  profileY1_O.isStopDecalE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadY2_O.isJctRoad = true
  profileY2_O.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileY2_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileY2_O.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileY2_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileY2_O.isStopDecalS = im.BoolPtr(false)
  profileY2_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileY2_O.isStopDecalS = im.BoolPtr(false)
  profileY2_O.isStopDecalE = im.BoolPtr(false)
  profileY2_O.isStopDecalS = im.BoolPtr(false)
  profileY2_O.isStopDecalE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
    roadTL_S.isJctRoad = true
    profileTL_S.isEdgeBlendL = im.BoolPtr(false)
    profileTL_S.isEdgeBlendR = im.BoolPtr(false)
    profileTL_S.isEdgeBlendL = im.BoolPtr(false)
    profileTL_S.isEdgeBlendR = im.BoolPtr(false)
    profileTL_S.isStopDecalS = im.BoolPtr(false)
    profileTL_S.isEdgeBlendR = im.BoolPtr(false)
    profileTL_S.isStopDecalS = im.BoolPtr(false)
    profileTL_S.isStopDecalE = im.BoolPtr(false)
    profileTL_S.isStopDecalS = im.BoolPtr(false)
    profileTL_S.isStopDecalE = im.BoolPtr(false)
    roadTL_S.isArc = true
    roadTR_S.isJctRoad = true
    profileTR_S.isEdgeBlendL = im.BoolPtr(false)
    profileTR_S.isEdgeBlendR = im.BoolPtr(false)
    profileTR_S.isEdgeBlendL = im.BoolPtr(false)
    profileTR_S.isEdgeBlendR = im.BoolPtr(false)
    profileTR_S.isStopDecalS = im.BoolPtr(false)
    profileTR_S.isEdgeBlendR = im.BoolPtr(false)
    profileTR_S.isStopDecalS = im.BoolPtr(false)
    profileTR_S.isStopDecalE = im.BoolPtr(false)
    profileTR_S.isStopDecalS = im.BoolPtr(false)
    profileTR_S.isStopDecalE = im.BoolPtr(false)
    roadTR_S.isArc = true
    roadBL_S.isJctRoad = true
    profileBL_S.isEdgeBlendL = im.BoolPtr(false)
    profileBL_S.isEdgeBlendR = im.BoolPtr(false)
    profileBL_S.isEdgeBlendL = im.BoolPtr(false)
    profileBL_S.isEdgeBlendR = im.BoolPtr(false)
    profileBL_S.isStopDecalS = im.BoolPtr(false)
    profileBL_S.isEdgeBlendR = im.BoolPtr(false)
    profileBL_S.isStopDecalS = im.BoolPtr(false)
    profileBL_S.isStopDecalE = im.BoolPtr(false)
    profileBL_S.isStopDecalS = im.BoolPtr(false)
    profileBL_S.isStopDecalE = im.BoolPtr(false)
    roadBL_S.isArc = true
    roadBR_S.isJctRoad = true
    profileBR_S.isEdgeBlendL = im.BoolPtr(false)
    profileBR_S.isEdgeBlendR = im.BoolPtr(false)
    profileBR_S.isEdgeBlendL = im.BoolPtr(false)
    profileBR_S.isEdgeBlendR = im.BoolPtr(false)
    profileBR_S.isStopDecalS = im.BoolPtr(false)
    profileBR_S.isEdgeBlendR = im.BoolPtr(false)
    profileBR_S.isStopDecalS = im.BoolPtr(false)
    profileBR_S.isStopDecalE = im.BoolPtr(false)
    profileBR_S.isStopDecalS = im.BoolPtr(false)
    profileBR_S.isStopDecalE = im.BoolPtr(false)
    roadBR_S.isArc = true
        isHidden = false,
        doNotDelete = im.BoolPtr(true),
        isReverse = im.BoolPtr(false),
        doNotDelete = im.BoolPtr(true),
        isReverse = im.BoolPtr(false),
        isPaint = im.BoolPtr(false),
        isReverse = im.BoolPtr(false),
        isPaint = im.BoolPtr(false),
        isDisplay = im.BoolPtr(true),
        isPaint = im.BoolPtr(false),
        isDisplay = im.BoolPtr(true),
        type = im.IntPtr(5),
        laneMin = im.IntPtr(lMin), laneMax = im.IntPtr(lMin),
        lane = im.IntPtr(lMin), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
        width = im.FloatPtr(1.0),
        width = im.FloatPtr(1.0),
        isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
        texLen = im.FloatPtr(5),
        jitter = im.FloatPtr(0.0),
        useWorldZ = im.BoolPtr(false),
        matDisplay = 's_trafficlight_boom_ns.dae',
        isHidden = false,
        doNotDelete = im.BoolPtr(true),
        isReverse = im.BoolPtr(false),
        doNotDelete = im.BoolPtr(true),
        isReverse = im.BoolPtr(false),
        isPaint = im.BoolPtr(false),
        isReverse = im.BoolPtr(false),
        isPaint = im.BoolPtr(false),
        isDisplay = im.BoolPtr(true),
        isPaint = im.BoolPtr(false),
        isDisplay = im.BoolPtr(true),
        type = im.IntPtr(5),
        laneMin = im.IntPtr(lMin), laneMax = im.IntPtr(lMin),
        lane = im.IntPtr(lMin), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
        width = im.FloatPtr(1.0),
        width = im.FloatPtr(1.0),
        isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
        texLen = im.FloatPtr(5),
        jitter = im.FloatPtr(0.0),
        useWorldZ = im.BoolPtr(false),
        matDisplay = 's_trafficlight_boom_ns.dae',
        isHidden = false,
        doNotDelete = im.BoolPtr(true),
        isReverse = im.BoolPtr(false),
        doNotDelete = im.BoolPtr(true),
        isReverse = im.BoolPtr(false),
        isPaint = im.BoolPtr(false),
        isReverse = im.BoolPtr(false),
        isPaint = im.BoolPtr(false),
        isDisplay = im.BoolPtr(true),
        isPaint = im.BoolPtr(false),
        isDisplay = im.BoolPtr(true),
        type = im.IntPtr(5),
        laneMin = im.IntPtr(laneIdx), laneMax = im.IntPtr(laneIdx),
        lane = im.IntPtr(laneIdx), isLeft = im.BoolPtr(sIsLeft), off = im.FloatPtr(0.0),
        width = im.FloatPtr(1.0),
        width = im.FloatPtr(1.0),
        isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
        texLen = im.FloatPtr(5),
        jitter = im.FloatPtr(0.0),
        useWorldZ = im.BoolPtr(false),
        matDisplay = 's_trafficlight_boom_ns.dae',
        isHidden = false,
        doNotDelete = im.BoolPtr(true),
        isReverse = im.BoolPtr(false),
        doNotDelete = im.BoolPtr(true),
        isReverse = im.BoolPtr(false),
        isPaint = im.BoolPtr(false),
        isReverse = im.BoolPtr(false),
        isPaint = im.BoolPtr(false),
        isDisplay = im.BoolPtr(true),
        isPaint = im.BoolPtr(false),
        isDisplay = im.BoolPtr(true),
        type = im.IntPtr(5),
        laneMin = im.IntPtr(laneIdx), laneMax = im.IntPtr(laneIdx),
        lane = im.IntPtr(laneIdx), isLeft = im.BoolPtr(sIsLeft), off = im.FloatPtr(0.0),
        width = im.FloatPtr(1.0),
        width = im.FloatPtr(1.0),
        isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
        texLen = im.FloatPtr(5),
        jitter = im.FloatPtr(0.0),
        useWorldZ = im.BoolPtr(false),
        matDisplay = 's_trafficlight_boom_ns.dae',
          isHidden = false,
          doNotDelete = im.BoolPtr(true),
          isReverse = im.BoolPtr(false),
          doNotDelete = im.BoolPtr(true),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isDisplay = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isDisplay = im.BoolPtr(false),
          type = im.IntPtr(3),
          laneMin = im.IntPtr(-i), laneMax = im.IntPtr(-i),
          lane = im.IntPtr(-i), isLeft = im.BoolPtr(true), off = im.FloatPtr(aPos),
          width = im.FloatPtr(pedXWidth),
          width = im.FloatPtr(pedXWidth),
          isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
          texLen = im.FloatPtr(5),
          jitter = im.FloatPtr(0.0),
          useWorldZ = im.BoolPtr(false),
          matDisplay = '[None]',
          isHidden = false,
          doNotDelete = im.BoolPtr(true),
          isReverse = im.BoolPtr(false),
          doNotDelete = im.BoolPtr(true),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isDisplay = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isDisplay = im.BoolPtr(false),
          type = im.IntPtr(3),
          laneMin = im.IntPtr(-i), laneMax = im.IntPtr(-i),
          lane = im.IntPtr(-i), isLeft = im.BoolPtr(true), off = im.FloatPtr(aPos),
          width = im.FloatPtr(pedXWidth),
          width = im.FloatPtr(pedXWidth),
          isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
          texLen = im.FloatPtr(5),
          jitter = im.FloatPtr(0.0),
          useWorldZ = im.BoolPtr(false),
          matDisplay = '[None]',
            isHidden = false,
            doNotDelete = im.BoolPtr(true),
            isReverse = im.BoolPtr(false),
            doNotDelete = im.BoolPtr(true),
            isReverse = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isReverse = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isDisplay = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isDisplay = im.BoolPtr(false),
            type = im.IntPtr(3),
            laneMin = im.IntPtr(-i), laneMax = im.IntPtr(-i),
            lane = im.IntPtr(-i), isLeft = im.BoolPtr(true), off = im.FloatPtr((capLength - jct.arrowBackDistFromEnd[0]) / capLength),
            width = im.FloatPtr(pedXWidth),
            width = im.FloatPtr(pedXWidth),
            isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
            texLen = im.FloatPtr(5),
            jitter = im.FloatPtr(0.0),
            useWorldZ = im.BoolPtr(false),
            matDisplay = '[None]',
            isHidden = false,
            doNotDelete = im.BoolPtr(true),
            isReverse = im.BoolPtr(false),
            doNotDelete = im.BoolPtr(true),
            isReverse = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isReverse = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isDisplay = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isDisplay = im.BoolPtr(false),
            type = im.IntPtr(3),
            laneMin = im.IntPtr(-i), laneMax = im.IntPtr(-i),
            lane = im.IntPtr(-i), isLeft = im.BoolPtr(true), off = im.FloatPtr((capLength - jct.arrowBackDistFromEnd[0]) / capLength),
            width = im.FloatPtr(pedXWidth),
            width = im.FloatPtr(pedXWidth),
            isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
            texLen = im.FloatPtr(5),
            jitter = im.FloatPtr(0.0),
            useWorldZ = im.BoolPtr(false),
            matDisplay = '[None]',
            isHidden = false,
            doNotDelete = im.BoolPtr(true),
            isReverse = im.BoolPtr(false),
            doNotDelete = im.BoolPtr(true),
            isReverse = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isReverse = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isDisplay = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isDisplay = im.BoolPtr(false),
            type = im.IntPtr(3),
            laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
            lane = im.IntPtr(laneIdx), isLeft = im.BoolPtr(true), off = im.FloatPtr(aPos),
            width = im.FloatPtr(pedXWidth),
            width = im.FloatPtr(pedXWidth),
            isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
            texLen = im.FloatPtr(5),
            jitter = im.FloatPtr(0.0),
            useWorldZ = im.BoolPtr(false),
            matDisplay = '[None]',
            isHidden = false,
            doNotDelete = im.BoolPtr(true),
            isReverse = im.BoolPtr(false),
            doNotDelete = im.BoolPtr(true),
            isReverse = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isReverse = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isDisplay = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isDisplay = im.BoolPtr(false),
            type = im.IntPtr(3),
            laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
            lane = im.IntPtr(laneIdx), isLeft = im.BoolPtr(true), off = im.FloatPtr(aPos),
            width = im.FloatPtr(pedXWidth),
            width = im.FloatPtr(pedXWidth),
            isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
            texLen = im.FloatPtr(5),
            jitter = im.FloatPtr(0.0),
            useWorldZ = im.BoolPtr(false),
            matDisplay = '[None]',
              isHidden = false,
              doNotDelete = im.BoolPtr(true),
              isReverse = im.BoolPtr(false),
              doNotDelete = im.BoolPtr(true),
              isReverse = im.BoolPtr(false),
              isPaint = im.BoolPtr(false),
              isReverse = im.BoolPtr(false),
              isPaint = im.BoolPtr(false),
              isDisplay = im.BoolPtr(false),
              isPaint = im.BoolPtr(false),
              isDisplay = im.BoolPtr(false),
              type = im.IntPtr(3),
              laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
              lane = im.IntPtr(laneIdx), isLeft = im.BoolPtr(true), off = im.FloatPtr((capLength - jct.arrowBackDistFromEnd[0]) / capLength),
              width = im.FloatPtr(pedXWidth),
              width = im.FloatPtr(pedXWidth),
              isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
              texLen = im.FloatPtr(5),
              jitter = im.FloatPtr(0.0),
              useWorldZ = im.BoolPtr(false),
              matDisplay = '[None]',
              isHidden = false,
              doNotDelete = im.BoolPtr(true),
              isReverse = im.BoolPtr(false),
              doNotDelete = im.BoolPtr(true),
              isReverse = im.BoolPtr(false),
              isPaint = im.BoolPtr(false),
              isReverse = im.BoolPtr(false),
              isPaint = im.BoolPtr(false),
              isDisplay = im.BoolPtr(false),
              isPaint = im.BoolPtr(false),
              isDisplay = im.BoolPtr(false),
              type = im.IntPtr(3),
              laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
              lane = im.IntPtr(laneIdx), isLeft = im.BoolPtr(true), off = im.FloatPtr((capLength - jct.arrowBackDistFromEnd[0]) / capLength),
              width = im.FloatPtr(pedXWidth),
              width = im.FloatPtr(pedXWidth),
              isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
              texLen = im.FloatPtr(5),
              jitter = im.FloatPtr(0.0),
              useWorldZ = im.BoolPtr(false),
              matDisplay = '[None]',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(5),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(lMin), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_traf_sign_crossroad.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(5),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(lMin), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_traf_sign_crossroad.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(5),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(laneIdx), isLeft = im.BoolPtr(sIsLeft), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_traf_sign_crossroad.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(5),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(laneIdx), isLeft = im.BoolPtr(sIsLeft), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_traf_sign_crossroad.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(true),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(true),
      type = im.IntPtr(2),
      laneMin = im.IntPtr(-numLanesX), laneMax = im.IntPtr(numLanesX),
      lane = im.IntPtr(1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(pedXWidth),
      width = im.FloatPtr(pedXWidth),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = '[None]',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(true),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(true),
      type = im.IntPtr(2),
      laneMin = im.IntPtr(-numLanesX), laneMax = im.IntPtr(numLanesX),
      lane = im.IntPtr(1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(pedXWidth),
      width = im.FloatPtr(pedXWidth),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = '[None]',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(true),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(true),
      type = im.IntPtr(2),
      laneMin = im.IntPtr(lMin), laneMax = im.IntPtr(lMax),
      lane = im.IntPtr(1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(pedXWidth),
      width = im.FloatPtr(pedXWidth),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = '[None]',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(true),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(true),
      type = im.IntPtr(2),
      laneMin = im.IntPtr(lMin), laneMax = im.IntPtr(lMax),
      lane = im.IntPtr(1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(pedXWidth),
      width = im.FloatPtr(pedXWidth),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = '[None]',
  roadX1_I.isJctRoad = true
  profileX1_I.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileX1_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX1_I.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileX1_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX1_I.conditionCenterline = im.BoolPtr(false)
  profileX1_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX1_I.conditionCenterline = im.BoolPtr(false)
  profileX1_I.conditionEdgesL = im.BoolPtr(false)
  profileX1_I.conditionCenterline = im.BoolPtr(false)
  profileX1_I.conditionEdgesL = im.BoolPtr(false)
  profileX1_I.conditionEdgesR = im.BoolPtr(false)
  profileX1_I.conditionEdgesL = im.BoolPtr(false)
  profileX1_I.conditionEdgesR = im.BoolPtr(false)
  profileX1_I.conditionLaneMarkings = im.BoolPtr(false)
  profileX1_I.conditionEdgesR = im.BoolPtr(false)
  profileX1_I.conditionLaneMarkings = im.BoolPtr(false)
  profileX1_I.conditionEndStopS = im.BoolPtr(false)
  profileX1_I.conditionLaneMarkings = im.BoolPtr(false)
  profileX1_I.conditionEndStopS = im.BoolPtr(false)
  profileX1_I.conditionEndStopE = im.BoolPtr(false)
  profileX1_I.conditionEndStopS = im.BoolPtr(false)
  profileX1_I.conditionEndStopE = im.BoolPtr(false)
  profileX1_I.isStopDecalS = im.BoolPtr(false)
  profileX1_I.conditionEndStopE = im.BoolPtr(false)
  profileX1_I.isStopDecalS = im.BoolPtr(false)
  profileX1_I.isStopDecalE = im.BoolPtr(false)
  profileX1_I.isStopDecalS = im.BoolPtr(false)
  profileX1_I.isStopDecalE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadX2_I.isJctRoad = true
  profileX2_I.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileX2_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX2_I.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileX2_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX2_I.conditionCenterline = im.BoolPtr(false)
  profileX2_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX2_I.conditionCenterline = im.BoolPtr(false)
  profileX2_I.conditionEdgesL = im.BoolPtr(false)
  profileX2_I.conditionCenterline = im.BoolPtr(false)
  profileX2_I.conditionEdgesL = im.BoolPtr(false)
  profileX2_I.conditionEdgesR = im.BoolPtr(false)
  profileX2_I.conditionEdgesL = im.BoolPtr(false)
  profileX2_I.conditionEdgesR = im.BoolPtr(false)
  profileX2_I.conditionLaneMarkings = im.BoolPtr(false)
  profileX2_I.conditionEdgesR = im.BoolPtr(false)
  profileX2_I.conditionLaneMarkings = im.BoolPtr(false)
  profileX2_I.conditionEndStopS = im.BoolPtr(false)
  profileX2_I.conditionLaneMarkings = im.BoolPtr(false)
  profileX2_I.conditionEndStopS = im.BoolPtr(false)
  profileX2_I.conditionEndStopE = im.BoolPtr(false)
  profileX2_I.conditionEndStopS = im.BoolPtr(false)
  profileX2_I.conditionEndStopE = im.BoolPtr(false)
  profileX2_I.isStopDecalS = im.BoolPtr(false)
  profileX2_I.conditionEndStopE = im.BoolPtr(false)
  profileX2_I.isStopDecalS = im.BoolPtr(false)
  profileX2_I.isStopDecalE = im.BoolPtr(false)
  profileX2_I.isStopDecalS = im.BoolPtr(false)
  profileX2_I.isStopDecalE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadY2_I.isJctRoad = true
  profileY2_I.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileY2_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileY2_I.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileY2_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileY2_I.conditionCenterline = im.BoolPtr(false)
  profileY2_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileY2_I.conditionCenterline = im.BoolPtr(false)
  profileY2_I.conditionEdgesL = im.BoolPtr(false)
  profileY2_I.conditionCenterline = im.BoolPtr(false)
  profileY2_I.conditionEdgesL = im.BoolPtr(false)
  profileY2_I.conditionEdgesR = im.BoolPtr(false)
  profileY2_I.conditionEdgesL = im.BoolPtr(false)
  profileY2_I.conditionEdgesR = im.BoolPtr(false)
  profileY2_I.conditionLaneMarkings = im.BoolPtr(false)
  profileY2_I.conditionEdgesR = im.BoolPtr(false)
  profileY2_I.conditionLaneMarkings = im.BoolPtr(false)
  profileY2_I.conditionEndStopS = im.BoolPtr(false)
  profileY2_I.conditionLaneMarkings = im.BoolPtr(false)
  profileY2_I.conditionEndStopS = im.BoolPtr(false)
  profileY2_I.conditionEndStopE = im.BoolPtr(false)
  profileY2_I.conditionEndStopS = im.BoolPtr(false)
  profileY2_I.conditionEndStopE = im.BoolPtr(false)
  profileY2_I.isStopDecalS = im.BoolPtr(false)
  profileY2_I.conditionEndStopE = im.BoolPtr(false)
  profileY2_I.isStopDecalS = im.BoolPtr(false)
  profileY2_I.isStopDecalE = im.BoolPtr(false)
  profileY2_I.isStopDecalS = im.BoolPtr(false)
  profileY2_I.isStopDecalE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadCR_X.isJctRoad = true
  profileCR_X.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileCR_X.isEdgeBlendR = im.BoolPtr(false)
  profileCR_X.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileCR_X.isEdgeBlendR = im.BoolPtr(false)
  profileCR_X.conditionCenterline = im.BoolPtr(false)
  profileCR_X.isEdgeBlendR = im.BoolPtr(false)
  profileCR_X.conditionCenterline = im.BoolPtr(false)
  profileCR_X.conditionEdgesL = im.BoolPtr(true)
  profileCR_X.conditionCenterline = im.BoolPtr(false)
  profileCR_X.conditionEdgesL = im.BoolPtr(true)
  profileCR_X.conditionEdgesR = im.BoolPtr(false)
  profileCR_X.conditionEdgesL = im.BoolPtr(true)
  profileCR_X.conditionEdgesR = im.BoolPtr(false)
  profileCR_X.conditionLaneMarkings = im.BoolPtr(false)
  profileCR_X.conditionEdgesR = im.BoolPtr(false)
  profileCR_X.conditionLaneMarkings = im.BoolPtr(false)
  profileCR_X.conditionEndStopS = im.BoolPtr(false)
  profileCR_X.conditionLaneMarkings = im.BoolPtr(false)
  profileCR_X.conditionEndStopS = im.BoolPtr(false)
  profileCR_X.conditionEndStopE = im.BoolPtr(false)
  profileCR_X.conditionEndStopS = im.BoolPtr(false)
  profileCR_X.conditionEndStopE = im.BoolPtr(false)
  profileCR_X.isStopDecalS = im.BoolPtr(false)
  profileCR_X.conditionEndStopE = im.BoolPtr(false)
  profileCR_X.isStopDecalS = im.BoolPtr(false)
  profileCR_X.isStopDecalE = im.BoolPtr(false)
  profileCR_X.isStopDecalS = im.BoolPtr(false)
  profileCR_X.isStopDecalE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadX1_O.isJctRoad = true
  profileX1_O.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileX1_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX1_O.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileX1_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX1_O.isStopDecalS = im.BoolPtr(false)
  profileX1_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX1_O.isStopDecalS = im.BoolPtr(false)
  profileX1_O.isStopDecalE = im.BoolPtr(false)
  profileX1_O.isStopDecalS = im.BoolPtr(false)
  profileX1_O.isStopDecalE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadX2_O.isJctRoad = true
  profileX2_O.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileX2_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX2_O.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileX2_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX2_O.isStopDecalS = im.BoolPtr(false)
  profileX2_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX2_O.isStopDecalS = im.BoolPtr(false)
  profileX2_O.isStopDecalE = im.BoolPtr(false)
  profileX2_O.isStopDecalS = im.BoolPtr(false)
  profileX2_O.isStopDecalE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadY2_O.isJctRoad = true
  profileY2_O.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileY2_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileY2_O.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileY2_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileY2_O.isStopDecalS = im.BoolPtr(false)
  profileY2_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileY2_O.isStopDecalS = im.BoolPtr(false)
  profileY2_O.isStopDecalE = im.BoolPtr(false)
  profileY2_O.isStopDecalS = im.BoolPtr(false)
  profileY2_O.isStopDecalE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
    roadT_S.isJctRoad = true
    profileT_S.isEdgeBlendL = im.BoolPtr(false)
    profileT_S.isEdgeBlendR = im.BoolPtr(false)
    profileT_S.isEdgeBlendL = im.BoolPtr(false)
    profileT_S.isEdgeBlendR = im.BoolPtr(false)
    roadT_S.granFactor = im.IntPtr(crossroadArcGran)
    roadT_S.granFactor = im.IntPtr(crossroadArcGran)
    profileT_S.isStopDecalS = im.BoolPtr(false)
    profileT_S.isStopDecalE = im.BoolPtr(false)
    profileT_S.isStopDecalS = im.BoolPtr(false)
    profileT_S.isStopDecalE = im.BoolPtr(false)
    local rIdx = #roadMgr.roads + 1
    roadBL_S.isJctRoad = true
    profileBL_S.isEdgeBlendL = im.BoolPtr(false)
    profileBL_S.isEdgeBlendR = im.BoolPtr(false)
    profileBL_S.isEdgeBlendL = im.BoolPtr(false)
    profileBL_S.isEdgeBlendR = im.BoolPtr(false)
    roadBL_S.isArc = true
    roadBL_S.granFactor = im.IntPtr(crossroadArcGran)
    profileBL_S.isStopDecalS = im.BoolPtr(false)
    profileBL_S.isStopDecalE = im.BoolPtr(false)
    profileBL_S.isStopDecalS = im.BoolPtr(false)
    profileBL_S.isStopDecalE = im.BoolPtr(false)
    local rIdx = #roadMgr.roads + 1
    roadBR_S.isJctRoad = true
    profileBR_S.isEdgeBlendL = im.BoolPtr(false)
    profileBR_S.isEdgeBlendR = im.BoolPtr(false)
    profileBR_S.isEdgeBlendL = im.BoolPtr(false)
    profileBR_S.isEdgeBlendR = im.BoolPtr(false)
    roadBR_S.isArc = true
    roadBR_S.granFactor = im.IntPtr(crossroadArcGran)
    profileBR_S.isStopDecalS = im.BoolPtr(false)
    profileBR_S.isStopDecalE = im.BoolPtr(false)
    profileBR_S.isStopDecalS = im.BoolPtr(false)
    profileBR_S.isStopDecalE = im.BoolPtr(false)
    local rIdx = #roadMgr.roads + 1
        isHidden = false,
        doNotDelete = im.BoolPtr(true),
        isReverse = im.BoolPtr(false),
        doNotDelete = im.BoolPtr(true),
        isReverse = im.BoolPtr(false),
        isPaint = im.BoolPtr(false),
        isReverse = im.BoolPtr(false),
        isPaint = im.BoolPtr(false),
        isDisplay = im.BoolPtr(true),
        isPaint = im.BoolPtr(false),
        isDisplay = im.BoolPtr(true),
        type = im.IntPtr(5),
        laneMin = im.IntPtr(laneIdx), laneMax = im.IntPtr(laneIdx),
        lane = im.IntPtr(laneIdx), isLeft = im.BoolPtr(sIsLeft), off = im.FloatPtr(0.0),
        width = im.FloatPtr(1.0),
        width = im.FloatPtr(1.0),
        isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
        texLen = im.FloatPtr(5),
        jitter = im.FloatPtr(0.0),
        useWorldZ = im.BoolPtr(false),
        matDisplay = 's_trafficlight_boom_ns.dae',
        isHidden = false,
        doNotDelete = im.BoolPtr(true),
        isReverse = im.BoolPtr(false),
        doNotDelete = im.BoolPtr(true),
        isReverse = im.BoolPtr(false),
        isPaint = im.BoolPtr(false),
        isReverse = im.BoolPtr(false),
        isPaint = im.BoolPtr(false),
        isDisplay = im.BoolPtr(true),
        isPaint = im.BoolPtr(false),
        isDisplay = im.BoolPtr(true),
        type = im.IntPtr(5),
        laneMin = im.IntPtr(lMin), laneMax = im.IntPtr(lMin),
        lane = im.IntPtr(lMin), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
        width = im.FloatPtr(1.0),
        width = im.FloatPtr(1.0),
        isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
        texLen = im.FloatPtr(5),
        jitter = im.FloatPtr(0.0),
        useWorldZ = im.BoolPtr(false),
        matDisplay = 's_trafficlight_boom_ns.dae',
        isHidden = false,
        doNotDelete = im.BoolPtr(true),
        isReverse = im.BoolPtr(false),
        doNotDelete = im.BoolPtr(true),
        isReverse = im.BoolPtr(false),
        isPaint = im.BoolPtr(false),
        isReverse = im.BoolPtr(false),
        isPaint = im.BoolPtr(false),
        isDisplay = im.BoolPtr(true),
        isPaint = im.BoolPtr(false),
        isDisplay = im.BoolPtr(true),
        type = im.IntPtr(5),
        laneMin = im.IntPtr(lMin), laneMax = im.IntPtr(lMin),
        lane = im.IntPtr(lMin), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
        width = im.FloatPtr(1.0),
        width = im.FloatPtr(1.0),
        isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
        texLen = im.FloatPtr(5),
        jitter = im.FloatPtr(0.0),
        useWorldZ = im.BoolPtr(false),
        matDisplay = 's_trafficlight_boom_ns.dae',
          isHidden = false,
          doNotDelete = im.BoolPtr(true),
          isReverse = im.BoolPtr(false),
          doNotDelete = im.BoolPtr(true),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isDisplay = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isDisplay = im.BoolPtr(false),
          type = im.IntPtr(3),
          laneMin = im.IntPtr(-i), laneMax = im.IntPtr(-i),
          lane = im.IntPtr(-i), isLeft = im.BoolPtr(true), off = im.FloatPtr(aPos),
          width = im.FloatPtr(pedXWidth),
          width = im.FloatPtr(pedXWidth),
          isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
          texLen = im.FloatPtr(5),
          jitter = im.FloatPtr(0.0),
          useWorldZ = im.BoolPtr(false),
          matDisplay = '[None]',
          isHidden = false,
          doNotDelete = im.BoolPtr(true),
          isReverse = im.BoolPtr(false),
          doNotDelete = im.BoolPtr(true),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isDisplay = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isDisplay = im.BoolPtr(false),
          type = im.IntPtr(3),
          laneMin = im.IntPtr(-i), laneMax = im.IntPtr(-i),
          lane = im.IntPtr(-i), isLeft = im.BoolPtr(true), off = im.FloatPtr(aPos),
          width = im.FloatPtr(pedXWidth),
          width = im.FloatPtr(pedXWidth),
          isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
          texLen = im.FloatPtr(5),
          jitter = im.FloatPtr(0.0),
          useWorldZ = im.BoolPtr(false),
          matDisplay = '[None]',
            isHidden = false,
            doNotDelete = im.BoolPtr(true),
            isReverse = im.BoolPtr(false),
            doNotDelete = im.BoolPtr(true),
            isReverse = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isReverse = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isDisplay = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isDisplay = im.BoolPtr(false),
            type = im.IntPtr(3),
            laneMin = im.IntPtr(-i), laneMax = im.IntPtr(-i),
            lane = im.IntPtr(-i), isLeft = im.BoolPtr(true), off = im.FloatPtr((capLength - jct.arrowBackDistFromEnd[0]) / capLength),
            width = im.FloatPtr(pedXWidth),
            width = im.FloatPtr(pedXWidth),
            isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
            texLen = im.FloatPtr(5),
            jitter = im.FloatPtr(0.0),
            useWorldZ = im.BoolPtr(false),
            matDisplay = '[None]',
            isHidden = false,
            doNotDelete = im.BoolPtr(true),
            isReverse = im.BoolPtr(false),
            doNotDelete = im.BoolPtr(true),
            isReverse = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isReverse = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isDisplay = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isDisplay = im.BoolPtr(false),
            type = im.IntPtr(3),
            laneMin = im.IntPtr(-i), laneMax = im.IntPtr(-i),
            lane = im.IntPtr(-i), isLeft = im.BoolPtr(true), off = im.FloatPtr((capLength - jct.arrowBackDistFromEnd[0]) / capLength),
            width = im.FloatPtr(pedXWidth),
            width = im.FloatPtr(pedXWidth),
            isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
            texLen = im.FloatPtr(5),
            jitter = im.FloatPtr(0.0),
            useWorldZ = im.BoolPtr(false),
            matDisplay = '[None]',
          isHidden = false,
          doNotDelete = im.BoolPtr(true),
          isReverse = im.BoolPtr(false),
          doNotDelete = im.BoolPtr(true),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isDisplay = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isDisplay = im.BoolPtr(false),
          type = im.IntPtr(3),
          laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
          lane = im.IntPtr(laneIdx), isLeft = im.BoolPtr(true), off = im.FloatPtr(aPos),
          width = im.FloatPtr(pedXWidth),
          width = im.FloatPtr(pedXWidth),
          isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
          texLen = im.FloatPtr(5),
          jitter = im.FloatPtr(0.0),
          useWorldZ = im.BoolPtr(false),
          matDisplay = '[None]',
            isHidden = false,
            doNotDelete = im.BoolPtr(true),
            isReverse = im.BoolPtr(false),
            doNotDelete = im.BoolPtr(true),
            isReverse = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isReverse = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isDisplay = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isDisplay = im.BoolPtr(false),
            type = im.IntPtr(3),
            laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
            lane = im.IntPtr(laneIdx), isLeft = im.BoolPtr(true), off = im.FloatPtr((capLength - jct.arrowBackDistFromEnd[0]) / capLength),
            width = im.FloatPtr(pedXWidth),
            width = im.FloatPtr(pedXWidth),
            isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
            texLen = im.FloatPtr(5),
            jitter = im.FloatPtr(0.0),
            useWorldZ = im.BoolPtr(false),
            matDisplay = '[None]',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(5),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(lMin), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_traf_sign_junction_left.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(5),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(lMin), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_traf_sign_junction_left.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(5),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(laneIdx), isLeft = im.BoolPtr(sIsLeft), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_traf_sign_turn_leftorright.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(true),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(true),
      type = im.IntPtr(2),
      laneMin = im.IntPtr(-numLanesX), laneMax = im.IntPtr(numLanesX),
      lane = im.IntPtr(1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(pedXWidth),
      width = im.FloatPtr(pedXWidth),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = '[None]',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(true),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(true),
      type = im.IntPtr(2),
      laneMin = im.IntPtr(-numLanesX), laneMax = im.IntPtr(numLanesX),
      lane = im.IntPtr(1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(pedXWidth),
      width = im.FloatPtr(pedXWidth),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = '[None]',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(true),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(true),
      type = im.IntPtr(2),
      laneMin = im.IntPtr(lMin), laneMax = im.IntPtr(lMax),
      lane = im.IntPtr(1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(pedXWidth),
      width = im.FloatPtr(pedXWidth),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = '[None]',
  roadCR_X.isJctRoad = true
  profileCR_X.conditionCenterline = im.BoolPtr(false)
  profileCR_X.conditionLaneMarkings = im.BoolPtr(false)
  profileCR_X.conditionCenterline = im.BoolPtr(false)
  profileCR_X.conditionLaneMarkings = im.BoolPtr(false)
  profileCR_X.isEdgeBlendL = im.BoolPtr(false)
  profileCR_X.conditionLaneMarkings = im.BoolPtr(false)
  profileCR_X.isEdgeBlendL = im.BoolPtr(false)
  profileCR_X.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileCR_X.isEdgeBlendL = im.BoolPtr(false)
  profileCR_X.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileCR_X.conditionEndStopS = im.BoolPtr(false)
  profileCR_X.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileCR_X.conditionEndStopS = im.BoolPtr(false)
  profileCR_X.conditionEndStopE = im.BoolPtr(false)
  profileCR_X.conditionEndStopS = im.BoolPtr(false)
  profileCR_X.conditionEndStopE = im.BoolPtr(false)
  profileCR_X.conditionEdgesL = im.BoolPtr(false)
  profileCR_X.conditionEndStopE = im.BoolPtr(false)
  profileCR_X.conditionEdgesL = im.BoolPtr(false)
  profileCR_X.conditionEdgesR = im.BoolPtr(true)
  profileCR_X.conditionEdgesL = im.BoolPtr(false)
  profileCR_X.conditionEdgesR = im.BoolPtr(true)
  profileCR_X.isStopDecalS = im.BoolPtr(false)
  profileCR_X.conditionEdgesR = im.BoolPtr(true)
  profileCR_X.isStopDecalS = im.BoolPtr(false)
  profileCR_X.isStopDecalE = im.BoolPtr(false)
  profileCR_X.isStopDecalS = im.BoolPtr(false)
  profileCR_X.isStopDecalE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadX1_O.isJctRoad = true
  profileX1_O.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileX1_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX1_O.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileX1_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX1_O.isStopDecalS = im.BoolPtr(false)
  profileX1_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX1_O.isStopDecalS = im.BoolPtr(false)
  profileX1_O.isStopDecalE = im.BoolPtr(false)
  profileX1_O.isStopDecalS = im.BoolPtr(false)
  profileX1_O.isStopDecalE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadX2_O.isJctRoad = true
  profileX2_O.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileX2_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX2_O.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileX2_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX2_O.isStopDecalS = im.BoolPtr(false)
  profileX2_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX2_O.isStopDecalS = im.BoolPtr(false)
  profileX2_O.isStopDecalE = im.BoolPtr(false)
  profileX2_O.isStopDecalS = im.BoolPtr(false)
  profileX2_O.isStopDecalE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadY2_O.isJctRoad = true
  profileY2_O.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileY2_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileY2_O.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileY2_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileY2_O.isStopDecalS = im.BoolPtr(false)
  profileY2_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileY2_O.isStopDecalS = im.BoolPtr(false)
  profileY2_O.isStopDecalE = im.BoolPtr(false)
  profileY2_O.isStopDecalS = im.BoolPtr(false)
  profileY2_O.isStopDecalE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadY2_I1.isJctRoad = true
  profileY2_I.conditionCenterline = im.BoolPtr(false)
  profileY2_I.conditionLaneMarkings = im.BoolPtr(false)
  profileY2_I.conditionCenterline = im.BoolPtr(false)
  profileY2_I.conditionLaneMarkings = im.BoolPtr(false)
  profileY2_I.conditionEndStopS = im.BoolPtr(false)
  profileY2_I.conditionLaneMarkings = im.BoolPtr(false)
  profileY2_I.conditionEndStopS = im.BoolPtr(false)
  profileY2_I.conditionEndStopE = im.BoolPtr(false)
  profileY2_I.conditionEndStopS = im.BoolPtr(false)
  profileY2_I.conditionEndStopE = im.BoolPtr(false)
  profileY2_I.isStopDecalS = im.BoolPtr(false)
  profileY2_I.conditionEndStopE = im.BoolPtr(false)
  profileY2_I.isStopDecalS = im.BoolPtr(false)
  profileY2_I.isStopDecalE = im.BoolPtr(false)
  profileY2_I.isStopDecalS = im.BoolPtr(false)
  profileY2_I.isStopDecalE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  if jct.theta[0] >= 0.0 then
    profileY2_I.isEdgeBlendL = im.BoolPtr(false)
    profileY2_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
    profileY2_I.isEdgeBlendL = im.BoolPtr(false)
    profileY2_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
    profileY2_I.conditionEdgesL = im.BoolPtr(false)
    profileY2_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
    profileY2_I.conditionEdgesL = im.BoolPtr(false)
    profileY2_I.conditionEdgesR = im.BoolPtr(true)
    profileY2_I.conditionEdgesL = im.BoolPtr(false)
    profileY2_I.conditionEdgesR = im.BoolPtr(true)
    ap1 = util.rotateVecByQuaternion(vec3(boxXHalf + bevel, 0, 0), rot) + cen
  else
    profileY2_I.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
    profileY2_I.isEdgeBlendR = im.BoolPtr(false)
    profileY2_I.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
    profileY2_I.isEdgeBlendR = im.BoolPtr(false)
    profileY2_I.conditionEdgesL = im.BoolPtr(true)
    profileY2_I.isEdgeBlendR = im.BoolPtr(false)
    profileY2_I.conditionEdgesL = im.BoolPtr(true)
    profileY2_I.conditionEdgesR = im.BoolPtr(false)
    profileY2_I.conditionEdgesL = im.BoolPtr(true)
    profileY2_I.conditionEdgesR = im.BoolPtr(false)
    ap1 = util.rotateVecByQuaternion(vec3(-boxXHalf - bevel, 0, 0), rot) + cen
  roadB_S.granFactor = im.IntPtr(3)
  profileB_S.conditionEndStopS = im.BoolPtr(false)
  profileB_S.conditionEndStopE = im.BoolPtr(false)
  profileB_S.conditionEndStopS = im.BoolPtr(false)
  profileB_S.conditionEndStopE = im.BoolPtr(false)
  profileB_S.isStopDecalS = im.BoolPtr(false)
  profileB_S.conditionEndStopE = im.BoolPtr(false)
  profileB_S.isStopDecalS = im.BoolPtr(false)
  profileB_S.isStopDecalE = im.BoolPtr(false)
  profileB_S.isStopDecalS = im.BoolPtr(false)
  profileB_S.isStopDecalE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  if jct.theta[0] < 0.0 then
    profileB_S.conditionEdgesL = im.BoolPtr(false)
    profileB_S.conditionEdgesR = im.BoolPtr(true)
    profileB_S.conditionEdgesL = im.BoolPtr(false)
    profileB_S.conditionEdgesR = im.BoolPtr(true)
    profileB_S.isEdgeBlendL = im.BoolPtr(false)
    profileB_S.conditionEdgesR = im.BoolPtr(true)
    profileB_S.isEdgeBlendL = im.BoolPtr(false)
    profileB_S.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
    profileB_S.isEdgeBlendL = im.BoolPtr(false)
    profileB_S.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
    ap1 = util.rotateVecByQuaternion(vec3(boxXHalf + bevel, 0, 0), rot) + cen
  else
    profileB_S.conditionEdgesL = im.BoolPtr(false)
    profileB_S.conditionEdgesR = im.BoolPtr(true)
    profileB_S.conditionEdgesL = im.BoolPtr(false)
    profileB_S.conditionEdgesR = im.BoolPtr(true)
    profileB_S.isEdgeBlendL = im.BoolPtr(false)
    profileB_S.conditionEdgesR = im.BoolPtr(true)
    profileB_S.isEdgeBlendL = im.BoolPtr(false)
    profileB_S.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
    profileB_S.isEdgeBlendL = im.BoolPtr(false)
    profileB_S.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
    ap1 = util.rotateVecByQuaternion(vec3(-boxXHalf - bevel, 0, 0), rot) + cen
        isHidden = false,
        doNotDelete = im.BoolPtr(true),
        isReverse = im.BoolPtr(false),
        doNotDelete = im.BoolPtr(true),
        isReverse = im.BoolPtr(false),
        isPaint = im.BoolPtr(false),
        isReverse = im.BoolPtr(false),
        isPaint = im.BoolPtr(false),
        isDisplay = im.BoolPtr(true),
        isPaint = im.BoolPtr(false),
        isDisplay = im.BoolPtr(true),
        type = im.IntPtr(5),
        laneMin = im.IntPtr(lMin), laneMax = im.IntPtr(lMin),
        lane = im.IntPtr(lMin), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
        width = im.FloatPtr(1.0),
        width = im.FloatPtr(1.0),
        isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
        texLen = im.FloatPtr(5),
        jitter = im.FloatPtr(0.0),
        useWorldZ = im.BoolPtr(false),
        matDisplay = 's_trafficlight_boom_ns.dae',
        isHidden = false,
        doNotDelete = im.BoolPtr(true),
        isReverse = im.BoolPtr(false),
        doNotDelete = im.BoolPtr(true),
        isReverse = im.BoolPtr(false),
        isPaint = im.BoolPtr(false),
        isReverse = im.BoolPtr(false),
        isPaint = im.BoolPtr(false),
        isDisplay = im.BoolPtr(true),
        isPaint = im.BoolPtr(false),
        isDisplay = im.BoolPtr(true),
        type = im.IntPtr(5),
        laneMin = im.IntPtr(lMin), laneMax = im.IntPtr(lMin),
        lane = im.IntPtr(lMin), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
        width = im.FloatPtr(1.0),
        width = im.FloatPtr(1.0),
        isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
        texLen = im.FloatPtr(5),
        jitter = im.FloatPtr(0.0),
        useWorldZ = im.BoolPtr(false),
        matDisplay = 's_trafficlight_boom_ns.dae',
        isHidden = false,
        doNotDelete = im.BoolPtr(true),
        isReverse = im.BoolPtr(false),
        doNotDelete = im.BoolPtr(true),
        isReverse = im.BoolPtr(false),
        isPaint = im.BoolPtr(false),
        isReverse = im.BoolPtr(false),
        isPaint = im.BoolPtr(false),
        isDisplay = im.BoolPtr(true),
        isPaint = im.BoolPtr(false),
        isDisplay = im.BoolPtr(true),
        type = im.IntPtr(5),
        laneMin = im.IntPtr(lMin), laneMax = im.IntPtr(lMin),
        lane = im.IntPtr(lMin), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
        width = im.FloatPtr(1.0),
        width = im.FloatPtr(1.0),
        isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
        texLen = im.FloatPtr(5),
        jitter = im.FloatPtr(0.0),
        useWorldZ = im.BoolPtr(false),
        matDisplay = 's_trafficlight_boom_ns.dae',
          isHidden = false,
          doNotDelete = im.BoolPtr(true),
          isReverse = im.BoolPtr(false),
          doNotDelete = im.BoolPtr(true),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isDisplay = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isDisplay = im.BoolPtr(false),
          type = im.IntPtr(3),
          laneMin = im.IntPtr(-i), laneMax = im.IntPtr(-i),
          lane = im.IntPtr(-i), isLeft = im.BoolPtr(true), off = im.FloatPtr(aPos),
          width = im.FloatPtr(pedXWidth),
          width = im.FloatPtr(pedXWidth),
          isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
          texLen = im.FloatPtr(5),
          jitter = im.FloatPtr(0.0),
          useWorldZ = im.BoolPtr(false),
          matDisplay = '[None]',
          isHidden = false,
          doNotDelete = im.BoolPtr(true),
          isReverse = im.BoolPtr(false),
          doNotDelete = im.BoolPtr(true),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isDisplay = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isDisplay = im.BoolPtr(false),
          type = im.IntPtr(3),
          laneMin = im.IntPtr(-i), laneMax = im.IntPtr(-i),
          lane = im.IntPtr(-i), isLeft = im.BoolPtr(true), off = im.FloatPtr(aPos),
          width = im.FloatPtr(pedXWidth),
          width = im.FloatPtr(pedXWidth),
          isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
          texLen = im.FloatPtr(5),
          jitter = im.FloatPtr(0.0),
          useWorldZ = im.BoolPtr(false),
          matDisplay = '[None]',
            isHidden = false,
            doNotDelete = im.BoolPtr(true),
            isReverse = im.BoolPtr(false),
            doNotDelete = im.BoolPtr(true),
            isReverse = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isReverse = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isDisplay = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isDisplay = im.BoolPtr(false),
            type = im.IntPtr(3),
            laneMin = im.IntPtr(-i), laneMax = im.IntPtr(-i),
            lane = im.IntPtr(-i), isLeft = im.BoolPtr(true), off = im.FloatPtr((capLength - jct.arrowBackDistFromEnd[0]) / capLength),
            width = im.FloatPtr(pedXWidth),
            width = im.FloatPtr(pedXWidth),
            isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
            texLen = im.FloatPtr(5),
            jitter = im.FloatPtr(0.0),
            useWorldZ = im.BoolPtr(false),
            matDisplay = '[None]',
            isHidden = false,
            doNotDelete = im.BoolPtr(true),
            isReverse = im.BoolPtr(false),
            doNotDelete = im.BoolPtr(true),
            isReverse = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isReverse = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isDisplay = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isDisplay = im.BoolPtr(false),
            type = im.IntPtr(3),
            laneMin = im.IntPtr(-i), laneMax = im.IntPtr(-i),
            lane = im.IntPtr(-i), isLeft = im.BoolPtr(true), off = im.FloatPtr((capLength - jct.arrowBackDistFromEnd[0]) / capLength),
            width = im.FloatPtr(pedXWidth),
            width = im.FloatPtr(pedXWidth),
            isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
            texLen = im.FloatPtr(5),
            jitter = im.FloatPtr(0.0),
            useWorldZ = im.BoolPtr(false),
            matDisplay = '[None]',
          isHidden = false,
          doNotDelete = im.BoolPtr(true),
          isReverse = im.BoolPtr(false),
          doNotDelete = im.BoolPtr(true),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isDisplay = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isDisplay = im.BoolPtr(false),
          type = im.IntPtr(3),
          laneMin = im.IntPtr(-i), laneMax = im.IntPtr(-i),
          lane = im.IntPtr(-i), isLeft = im.BoolPtr(true), off = im.FloatPtr(aPos),
          width = im.FloatPtr(pedXWidth),
          width = im.FloatPtr(pedXWidth),
          isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
          texLen = im.FloatPtr(5),
          jitter = im.FloatPtr(0.0),
          useWorldZ = im.BoolPtr(false),
          matDisplay = '[None]',
            isHidden = false,
            doNotDelete = im.BoolPtr(true),
            isReverse = im.BoolPtr(false),
            doNotDelete = im.BoolPtr(true),
            isReverse = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isReverse = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isDisplay = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isDisplay = im.BoolPtr(false),
            type = im.IntPtr(3),
            laneMin = im.IntPtr(-i), laneMax = im.IntPtr(-i),
            lane = im.IntPtr(-i), isLeft = im.BoolPtr(true), off = im.FloatPtr((capLength - jct.arrowBackDistFromEnd[0]) / capLength),
            width = im.FloatPtr(pedXWidth),
            width = im.FloatPtr(pedXWidth),
            isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
            texLen = im.FloatPtr(5),
            jitter = im.FloatPtr(0.0),
            useWorldZ = im.BoolPtr(false),
            matDisplay = '[None]',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(5),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(lMin), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_traf_sign_junction_left.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(5),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(lMin), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_traf_sign_junction_left.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(5),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(lMin), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_traf_sign_turn_leftorright.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(true),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(true),
      type = im.IntPtr(2),
      laneMin = im.IntPtr(-numLanesX), laneMax = im.IntPtr(numLanesX),
      lane = im.IntPtr(1), isLeft = im.BoolPtr(true), off = im.FloatPtr(1.0),
      width = im.FloatPtr(pedXWidth),
      width = im.FloatPtr(pedXWidth),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = '[None]',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(true),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(true),
      type = im.IntPtr(2),
      laneMin = im.IntPtr(-numLanesX), laneMax = im.IntPtr(numLanesX),
      lane = im.IntPtr(1), isLeft = im.BoolPtr(true), off = im.FloatPtr(1.0),
      width = im.FloatPtr(pedXWidth),
      width = im.FloatPtr(pedXWidth),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = '[None]',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(true),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(true),
      type = im.IntPtr(2),
      laneMin = im.IntPtr(-numLanesY), laneMax = im.IntPtr(numLanesY),
      lane = im.IntPtr(1), isLeft = im.BoolPtr(true), off = im.FloatPtr(1.0),
      width = im.FloatPtr(pedXWidth),
      width = im.FloatPtr(pedXWidth),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = '[None]',
  roadX1_I.isJctRoad = true
  profileX1_I.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileX1_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX1_I.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileX1_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX1_I.conditionCenterline = im.BoolPtr(false)
  profileX1_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX1_I.conditionCenterline = im.BoolPtr(false)
  profileX1_I.conditionEdgesL = im.BoolPtr(false)
  profileX1_I.conditionCenterline = im.BoolPtr(false)
  profileX1_I.conditionEdgesL = im.BoolPtr(false)
  profileX1_I.conditionEdgesR = im.BoolPtr(false)
  profileX1_I.conditionEdgesL = im.BoolPtr(false)
  profileX1_I.conditionEdgesR = im.BoolPtr(false)
  profileX1_I.conditionLaneMarkings = im.BoolPtr(false)
  profileX1_I.conditionEdgesR = im.BoolPtr(false)
  profileX1_I.conditionLaneMarkings = im.BoolPtr(false)
  profileX1_I.conditionEndStopS = im.BoolPtr(false)
  profileX1_I.conditionLaneMarkings = im.BoolPtr(false)
  profileX1_I.conditionEndStopS = im.BoolPtr(false)
  profileX1_I.conditionEndStopE = im.BoolPtr(false)
  profileX1_I.conditionEndStopS = im.BoolPtr(false)
  profileX1_I.conditionEndStopE = im.BoolPtr(false)
  profileX1_I.isStopDecalS = im.BoolPtr(false)
  profileX1_I.conditionEndStopE = im.BoolPtr(false)
  profileX1_I.isStopDecalS = im.BoolPtr(false)
  profileX1_I.isStopDecalE = im.BoolPtr(false)
  profileX1_I.isStopDecalS = im.BoolPtr(false)
  profileX1_I.isStopDecalE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadX2_I.isJctRoad = true
  profileX2_I.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileX2_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX2_I.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileX2_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX2_I.conditionCenterline = im.BoolPtr(false)
  profileX2_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX2_I.conditionCenterline = im.BoolPtr(false)
  profileX2_I.conditionEdgesL = im.BoolPtr(false)
  profileX2_I.conditionCenterline = im.BoolPtr(false)
  profileX2_I.conditionEdgesL = im.BoolPtr(false)
  profileX2_I.conditionEdgesR = im.BoolPtr(false)
  profileX2_I.conditionEdgesL = im.BoolPtr(false)
  profileX2_I.conditionEdgesR = im.BoolPtr(false)
  profileX2_I.conditionLaneMarkings = im.BoolPtr(false)
  profileX2_I.conditionEdgesR = im.BoolPtr(false)
  profileX2_I.conditionLaneMarkings = im.BoolPtr(false)
  profileX2_I.conditionEndStopS = im.BoolPtr(false)
  profileX2_I.conditionLaneMarkings = im.BoolPtr(false)
  profileX2_I.conditionEndStopS = im.BoolPtr(false)
  profileX2_I.conditionEndStopE = im.BoolPtr(false)
  profileX2_I.conditionEndStopS = im.BoolPtr(false)
  profileX2_I.conditionEndStopE = im.BoolPtr(false)
  profileX2_I.isStopDecalS = im.BoolPtr(false)
  profileX2_I.conditionEndStopE = im.BoolPtr(false)
  profileX2_I.isStopDecalS = im.BoolPtr(false)
  profileX2_I.isStopDecalE = im.BoolPtr(false)
  profileX2_I.isStopDecalS = im.BoolPtr(false)
  profileX2_I.isStopDecalE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadY1_I.isJctRoad = true
  profileY1_I.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileY1_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileY1_I.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileY1_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileY1_I.conditionCenterline = im.BoolPtr(false)
  profileY1_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileY1_I.conditionCenterline = im.BoolPtr(false)
  profileY1_I.conditionEdgesL = im.BoolPtr(false)
  profileY1_I.conditionCenterline = im.BoolPtr(false)
  profileY1_I.conditionEdgesL = im.BoolPtr(false)
  profileY1_I.conditionEdgesR = im.BoolPtr(false)
  profileY1_I.conditionEdgesL = im.BoolPtr(false)
  profileY1_I.conditionEdgesR = im.BoolPtr(false)
  profileY1_I.conditionLaneMarkings = im.BoolPtr(false)
  profileY1_I.conditionEdgesR = im.BoolPtr(false)
  profileY1_I.conditionLaneMarkings = im.BoolPtr(false)
  profileY1_I.conditionEndStopS = im.BoolPtr(false)
  profileY1_I.conditionLaneMarkings = im.BoolPtr(false)
  profileY1_I.conditionEndStopS = im.BoolPtr(false)
  profileY1_I.conditionEndStopE = im.BoolPtr(false)
  profileY1_I.conditionEndStopS = im.BoolPtr(false)
  profileY1_I.conditionEndStopE = im.BoolPtr(false)
  profileY1_I.isStopDecalS = im.BoolPtr(false)
  profileY1_I.conditionEndStopE = im.BoolPtr(false)
  profileY1_I.isStopDecalS = im.BoolPtr(false)
  profileY1_I.isStopDecalE = im.BoolPtr(false)
  profileY1_I.isStopDecalS = im.BoolPtr(false)
  profileY1_I.isStopDecalE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadY2_I.isJctRoad = true
  profileY2_I.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileY2_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileY2_I.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileY2_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileY2_I.conditionCenterline = im.BoolPtr(false)
  profileY2_I.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileY2_I.conditionCenterline = im.BoolPtr(false)
  profileY2_I.conditionEdgesL = im.BoolPtr(false)
  profileY2_I.conditionCenterline = im.BoolPtr(false)
  profileY2_I.conditionEdgesL = im.BoolPtr(false)
  profileY2_I.conditionEdgesR = im.BoolPtr(false)
  profileY2_I.conditionEdgesL = im.BoolPtr(false)
  profileY2_I.conditionEdgesR = im.BoolPtr(false)
  profileY2_I.conditionLaneMarkings = im.BoolPtr(false)
  profileY2_I.conditionEdgesR = im.BoolPtr(false)
  profileY2_I.conditionLaneMarkings = im.BoolPtr(false)
  profileY2_I.conditionEndStopS = im.BoolPtr(false)
  profileY2_I.conditionLaneMarkings = im.BoolPtr(false)
  profileY2_I.conditionEndStopS = im.BoolPtr(false)
  profileY2_I.conditionEndStopE = im.BoolPtr(false)
  profileY2_I.conditionEndStopS = im.BoolPtr(false)
  profileY2_I.conditionEndStopE = im.BoolPtr(false)
  profileY2_I.isStopDecalS = im.BoolPtr(false)
  profileY2_I.conditionEndStopE = im.BoolPtr(false)
  profileY2_I.isStopDecalS = im.BoolPtr(false)
  profileY2_I.isStopDecalE = im.BoolPtr(false)
  profileY2_I.isStopDecalS = im.BoolPtr(false)
  profileY2_I.isStopDecalE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadX1_O.isJctRoad = true
  profileX1_O.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileX1_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX1_O.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileX1_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX1_O.isStopDecalS = im.BoolPtr(false)
  profileX1_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX1_O.isStopDecalS = im.BoolPtr(false)
  profileX1_O.isStopDecalE = im.BoolPtr(false)
  profileX1_O.isStopDecalS = im.BoolPtr(false)
  profileX1_O.isStopDecalE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadX2_O.isJctRoad = true
  profileX2_O.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileX2_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX2_O.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileX2_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX2_O.isStopDecalS = im.BoolPtr(false)
  profileX2_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileX2_O.isStopDecalS = im.BoolPtr(false)
  profileX2_O.isStopDecalE = im.BoolPtr(false)
  profileX2_O.isStopDecalS = im.BoolPtr(false)
  profileX2_O.isStopDecalE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadY1_O.isJctRoad = true
  profileY1_O.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileY1_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileY1_O.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileY1_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileY1_O.isStopDecalS = im.BoolPtr(false)
  profileY1_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileY1_O.isStopDecalS = im.BoolPtr(false)
  profileY1_O.isStopDecalE = im.BoolPtr(false)
  profileY1_O.isStopDecalS = im.BoolPtr(false)
  profileY1_O.isStopDecalE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadY2_O.isJctRoad = true
  profileY2_O.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileY2_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileY2_O.isEdgeBlendL = im.BoolPtr(isEdgeBlend)
  profileY2_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileY2_O.isStopDecalS = im.BoolPtr(false)
  profileY2_O.isEdgeBlendR = im.BoolPtr(isEdgeBlend)
  profileY2_O.isStopDecalS = im.BoolPtr(false)
  profileY2_O.isStopDecalE = im.BoolPtr(false)
  profileY2_O.isStopDecalS = im.BoolPtr(false)
  profileY2_O.isStopDecalE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadRB_1.isJctRoad = true
  profileRB_1.isEdgeBlendL = im.BoolPtr(false)
  profileRB_1.isEdgeBlendR = im.BoolPtr(true)
  profileRB_1.isEdgeBlendL = im.BoolPtr(false)
  profileRB_1.isEdgeBlendR = im.BoolPtr(true)
  profileRB_1.isStopDecalS = im.BoolPtr(false)
  profileRB_1.isEdgeBlendR = im.BoolPtr(true)
  profileRB_1.isStopDecalS = im.BoolPtr(false)
  profileRB_1.isStopDecalE = im.BoolPtr(false)
  profileRB_1.isStopDecalS = im.BoolPtr(false)
  profileRB_1.isStopDecalE = im.BoolPtr(false)
  roadRB_1.isArc = true
  roadRB_2.isJctRoad = true
  profileRB_2.isEdgeBlendL = im.BoolPtr(false)
  profileRB_2.isEdgeBlendR = im.BoolPtr(true)
  profileRB_2.isEdgeBlendL = im.BoolPtr(false)
  profileRB_2.isEdgeBlendR = im.BoolPtr(true)
  profileRB_2.isStopDecalS = im.BoolPtr(false)
  profileRB_2.isEdgeBlendR = im.BoolPtr(true)
  profileRB_2.isStopDecalS = im.BoolPtr(false)
  profileRB_2.isStopDecalE = im.BoolPtr(false)
  profileRB_2.isStopDecalS = im.BoolPtr(false)
  profileRB_2.isStopDecalE = im.BoolPtr(false)
  roadRB_2.isArc = true
    roadTL_S.isJctRoad = true
    profileTL_S.isEdgeBlendL = im.BoolPtr(false)
    profileTL_S.isEdgeBlendR = im.BoolPtr(false)
    profileTL_S.isEdgeBlendL = im.BoolPtr(false)
    profileTL_S.isEdgeBlendR = im.BoolPtr(false)
    profileTL_S.isStopDecalS = im.BoolPtr(false)
    profileTL_S.isEdgeBlendR = im.BoolPtr(false)
    profileTL_S.isStopDecalS = im.BoolPtr(false)
    profileTL_S.isStopDecalE = im.BoolPtr(false)
    profileTL_S.isStopDecalS = im.BoolPtr(false)
    profileTL_S.isStopDecalE = im.BoolPtr(false)
    roadTL_S.isArc = true
    roadTR_S.isJctRoad = true
    profileTR_S.isEdgeBlendL = im.BoolPtr(false)
    profileTR_S.isEdgeBlendR = im.BoolPtr(false)
    profileTR_S.isEdgeBlendL = im.BoolPtr(false)
    profileTR_S.isEdgeBlendR = im.BoolPtr(false)
    profileTR_S.isStopDecalS = im.BoolPtr(false)
    profileTR_S.isEdgeBlendR = im.BoolPtr(false)
    profileTR_S.isStopDecalS = im.BoolPtr(false)
    profileTR_S.isStopDecalE = im.BoolPtr(false)
    profileTR_S.isStopDecalS = im.BoolPtr(false)
    profileTR_S.isStopDecalE = im.BoolPtr(false)
    roadTR_S.isArc = true
    roadBL_S.isJctRoad = true
    profileBL_S.isEdgeBlendL = im.BoolPtr(false)
    profileBL_S.isEdgeBlendR = im.BoolPtr(false)
    profileBL_S.isEdgeBlendL = im.BoolPtr(false)
    profileBL_S.isEdgeBlendR = im.BoolPtr(false)
    profileBL_S.isStopDecalS = im.BoolPtr(false)
    profileBL_S.isEdgeBlendR = im.BoolPtr(false)
    profileBL_S.isStopDecalS = im.BoolPtr(false)
    profileBL_S.isStopDecalE = im.BoolPtr(false)
    profileBL_S.isStopDecalS = im.BoolPtr(false)
    profileBL_S.isStopDecalE = im.BoolPtr(false)
    roadBL_S.isArc = true
    roadBR_S.isJctRoad = true
    profileBR_S.isEdgeBlendL = im.BoolPtr(false)
    profileBR_S.isEdgeBlendR = im.BoolPtr(false)
    profileBR_S.isEdgeBlendL = im.BoolPtr(false)
    profileBR_S.isEdgeBlendR = im.BoolPtr(false)
    profileBR_S.isStopDecalS = im.BoolPtr(false)
    profileBR_S.isEdgeBlendR = im.BoolPtr(false)
    profileBR_S.isStopDecalS = im.BoolPtr(false)
    profileBR_S.isStopDecalE = im.BoolPtr(false)
    profileBR_S.isStopDecalS = im.BoolPtr(false)
    profileBR_S.isStopDecalE = im.BoolPtr(false)
    roadBR_S.isArc = true
        isHidden = false,
        doNotDelete = im.BoolPtr(true),
        isReverse = im.BoolPtr(false),
        doNotDelete = im.BoolPtr(true),
        isReverse = im.BoolPtr(false),
        isPaint = im.BoolPtr(false),
        isReverse = im.BoolPtr(false),
        isPaint = im.BoolPtr(false),
        isDisplay = im.BoolPtr(true),
        isPaint = im.BoolPtr(false),
        isDisplay = im.BoolPtr(true),
        type = im.IntPtr(5),
        laneMin = im.IntPtr(lMin), laneMax = im.IntPtr(lMin),
        lane = im.IntPtr(lMin), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
        width = im.FloatPtr(1.0),
        width = im.FloatPtr(1.0),
        isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
        texLen = im.FloatPtr(5),
        jitter = im.FloatPtr(0.0),
        useWorldZ = im.BoolPtr(false),
        matDisplay = 's_trafficlight_boom_ns.dae',
        isHidden = false,
        doNotDelete = im.BoolPtr(true),
        isReverse = im.BoolPtr(false),
        doNotDelete = im.BoolPtr(true),
        isReverse = im.BoolPtr(false),
        isPaint = im.BoolPtr(false),
        isReverse = im.BoolPtr(false),
        isPaint = im.BoolPtr(false),
        isDisplay = im.BoolPtr(true),
        isPaint = im.BoolPtr(false),
        isDisplay = im.BoolPtr(true),
        type = im.IntPtr(5),
        laneMin = im.IntPtr(lMin), laneMax = im.IntPtr(lMin),
        lane = im.IntPtr(lMin), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
        width = im.FloatPtr(1.0),
        width = im.FloatPtr(1.0),
        isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
        texLen = im.FloatPtr(5),
        jitter = im.FloatPtr(0.0),
        useWorldZ = im.BoolPtr(false),
        matDisplay = 's_trafficlight_boom_ns.dae',
        isHidden = false,
        doNotDelete = im.BoolPtr(true),
        isReverse = im.BoolPtr(false),
        doNotDelete = im.BoolPtr(true),
        isReverse = im.BoolPtr(false),
        isPaint = im.BoolPtr(false),
        isReverse = im.BoolPtr(false),
        isPaint = im.BoolPtr(false),
        isDisplay = im.BoolPtr(true),
        isPaint = im.BoolPtr(false),
        isDisplay = im.BoolPtr(true),
        type = im.IntPtr(5),
        laneMin = im.IntPtr(lMin), laneMax = im.IntPtr(lMin),
        lane = im.IntPtr(lMin), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
        width = im.FloatPtr(1.0),
        width = im.FloatPtr(1.0),
        isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
        texLen = im.FloatPtr(5),
        jitter = im.FloatPtr(0.0),
        useWorldZ = im.BoolPtr(false),
        matDisplay = 's_trafficlight_boom_ns.dae',
        isHidden = false,
        doNotDelete = im.BoolPtr(true),
        isReverse = im.BoolPtr(false),
        doNotDelete = im.BoolPtr(true),
        isReverse = im.BoolPtr(false),
        isPaint = im.BoolPtr(false),
        isReverse = im.BoolPtr(false),
        isPaint = im.BoolPtr(false),
        isDisplay = im.BoolPtr(true),
        isPaint = im.BoolPtr(false),
        isDisplay = im.BoolPtr(true),
        type = im.IntPtr(5),
        laneMin = im.IntPtr(lMin), laneMax = im.IntPtr(lMin),
        lane = im.IntPtr(lMin), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
        width = im.FloatPtr(1.0),
        width = im.FloatPtr(1.0),
        isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
        texLen = im.FloatPtr(5),
        jitter = im.FloatPtr(0.0),
        useWorldZ = im.BoolPtr(false),
        matDisplay = 's_trafficlight_boom_ns.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(5),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(lMin), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_traf_sign_roundabout.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(5),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(lMin), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_traf_sign_roundabout.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(5),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(lMin), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_traf_sign_roundabout.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(5),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(lMin), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_traf_sign_roundabout.dae',
          isHidden = false,
          doNotDelete = im.BoolPtr(true),
          isReverse = im.BoolPtr(false),
          doNotDelete = im.BoolPtr(true),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isDisplay = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isDisplay = im.BoolPtr(false),
          type = im.IntPtr(3),
          laneMin = im.IntPtr(-i), laneMax = im.IntPtr(-i),
          lane = im.IntPtr(-i), isLeft = im.BoolPtr(true), off = im.FloatPtr(aPos),
          width = im.FloatPtr(pedXWidth),
          width = im.FloatPtr(pedXWidth),
          isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
          texLen = im.FloatPtr(5),
          jitter = im.FloatPtr(0.0),
          useWorldZ = im.BoolPtr(false),
          matDisplay = '[None]',
          isHidden = false,
          doNotDelete = im.BoolPtr(true),
          isReverse = im.BoolPtr(false),
          doNotDelete = im.BoolPtr(true),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isDisplay = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isDisplay = im.BoolPtr(false),
          type = im.IntPtr(3),
          laneMin = im.IntPtr(-i), laneMax = im.IntPtr(-i),
          lane = im.IntPtr(-i), isLeft = im.BoolPtr(true), off = im.FloatPtr(aPos),
          width = im.FloatPtr(pedXWidth),
          width = im.FloatPtr(pedXWidth),
          isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
          texLen = im.FloatPtr(5),
          jitter = im.FloatPtr(0.0),
          useWorldZ = im.BoolPtr(false),
          matDisplay = '[None]',
            isHidden = false,
            doNotDelete = im.BoolPtr(true),
            isReverse = im.BoolPtr(false),
            doNotDelete = im.BoolPtr(true),
            isReverse = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isReverse = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isDisplay = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isDisplay = im.BoolPtr(false),
            type = im.IntPtr(3),
            laneMin = im.IntPtr(-i), laneMax = im.IntPtr(-i),
            lane = im.IntPtr(-i), isLeft = im.BoolPtr(true), off = im.FloatPtr((capLength - jct.arrowBackDistFromEnd[0]) / capLength),
            width = im.FloatPtr(pedXWidth),
            width = im.FloatPtr(pedXWidth),
            isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
            texLen = im.FloatPtr(5),
            jitter = im.FloatPtr(0.0),
            useWorldZ = im.BoolPtr(false),
            matDisplay = '[None]',
            isHidden = false,
            doNotDelete = im.BoolPtr(true),
            isReverse = im.BoolPtr(false),
            doNotDelete = im.BoolPtr(true),
            isReverse = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isReverse = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isDisplay = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isDisplay = im.BoolPtr(false),
            type = im.IntPtr(3),
            laneMin = im.IntPtr(-i), laneMax = im.IntPtr(-i),
            lane = im.IntPtr(-i), isLeft = im.BoolPtr(true), off = im.FloatPtr((capLength - jct.arrowBackDistFromEnd[0]) / capLength),
            width = im.FloatPtr(pedXWidth),
            width = im.FloatPtr(pedXWidth),
            isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
            texLen = im.FloatPtr(5),
            jitter = im.FloatPtr(0.0),
            useWorldZ = im.BoolPtr(false),
            matDisplay = '[None]',
          isHidden = false,
          doNotDelete = im.BoolPtr(true),
          isReverse = im.BoolPtr(false),
          doNotDelete = im.BoolPtr(true),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isDisplay = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isDisplay = im.BoolPtr(false),
          type = im.IntPtr(3),
          laneMin = im.IntPtr(-i), laneMax = im.IntPtr(-i),
          lane = im.IntPtr(-i), isLeft = im.BoolPtr(true), off = im.FloatPtr(aPos),
          width = im.FloatPtr(pedXWidth),
          width = im.FloatPtr(pedXWidth),
          isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
          texLen = im.FloatPtr(5),
          jitter = im.FloatPtr(0.0),
          useWorldZ = im.BoolPtr(false),
          matDisplay = '[None]',
          isHidden = false,
          doNotDelete = im.BoolPtr(true),
          isReverse = im.BoolPtr(false),
          doNotDelete = im.BoolPtr(true),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isDisplay = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isDisplay = im.BoolPtr(false),
          type = im.IntPtr(3),
          laneMin = im.IntPtr(-i), laneMax = im.IntPtr(-i),
          lane = im.IntPtr(-i), isLeft = im.BoolPtr(true), off = im.FloatPtr(aPos),
          width = im.FloatPtr(pedXWidth),
          width = im.FloatPtr(pedXWidth),
          isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
          texLen = im.FloatPtr(5),
          jitter = im.FloatPtr(0.0),
          useWorldZ = im.BoolPtr(false),
          matDisplay = '[None]',
            isHidden = false,
            doNotDelete = im.BoolPtr(true),
            isReverse = im.BoolPtr(false),
            doNotDelete = im.BoolPtr(true),
            isReverse = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isReverse = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isDisplay = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isDisplay = im.BoolPtr(false),
            type = im.IntPtr(3),
            laneMin = im.IntPtr(-i), laneMax = im.IntPtr(-i),
            lane = im.IntPtr(-i), isLeft = im.BoolPtr(true), off = im.FloatPtr((capLength - jct.arrowBackDistFromEnd[0]) / capLength),
            width = im.FloatPtr(pedXWidth),
            width = im.FloatPtr(pedXWidth),
            isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
            texLen = im.FloatPtr(5),
            jitter = im.FloatPtr(0.0),
            useWorldZ = im.BoolPtr(false),
            matDisplay = '[None]',
            isHidden = false,
            doNotDelete = im.BoolPtr(true),
            isReverse = im.BoolPtr(false),
            doNotDelete = im.BoolPtr(true),
            isReverse = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isReverse = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isDisplay = im.BoolPtr(false),
            isPaint = im.BoolPtr(false),
            isDisplay = im.BoolPtr(false),
            type = im.IntPtr(3),
            laneMin = im.IntPtr(-i), laneMax = im.IntPtr(-i),
            lane = im.IntPtr(-i), isLeft = im.BoolPtr(true), off = im.FloatPtr((capLength - jct.arrowBackDistFromEnd[0]) / capLength),
            width = im.FloatPtr(pedXWidth),
            width = im.FloatPtr(pedXWidth),
            isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
            texLen = im.FloatPtr(5),
            jitter = im.FloatPtr(0.0),
            useWorldZ = im.BoolPtr(false),
            matDisplay = '[None]',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(true),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(true),
      type = im.IntPtr(2),
      laneMin = im.IntPtr(-numLanesX), laneMax = im.IntPtr(numLanesX),
      lane = im.IntPtr(1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(pedXWidth),
      width = im.FloatPtr(pedXWidth),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = '[None]',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(true),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(true),
      type = im.IntPtr(2),
      laneMin = im.IntPtr(-numLanesX), laneMax = im.IntPtr(numLanesX),
      lane = im.IntPtr(1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(pedXWidth),
      width = im.FloatPtr(pedXWidth),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = '[None]',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(true),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(true),
      type = im.IntPtr(2),
      laneMin = im.IntPtr(-numLanesY), laneMax = im.IntPtr(numLanesY),
      lane = im.IntPtr(1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(pedXWidth),
      width = im.FloatPtr(pedXWidth),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = '[None]',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(true),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(true),
      type = im.IntPtr(2),
      laneMin = im.IntPtr(-numLanesY), laneMax = im.IntPtr(numLanesY),
      lane = im.IntPtr(1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(pedXWidth),
      width = im.FloatPtr(pedXWidth),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = '[None]',
  roadX1_O.isJctRoad = true
  profileX1_O.isEdgeBlendL = im.BoolPtr(false)
  profileX1_O.isEdgeBlendR = im.BoolPtr(false)
  profileX1_O.isEdgeBlendL = im.BoolPtr(false)
  profileX1_O.isEdgeBlendR = im.BoolPtr(false)
  profileX1_O.isStopDecalS = im.BoolPtr(false)
  profileX1_O.isEdgeBlendR = im.BoolPtr(false)
  profileX1_O.isStopDecalS = im.BoolPtr(false)
  profileX1_O.isStopDecalE = im.BoolPtr(false)
  profileX1_O.isStopDecalS = im.BoolPtr(false)
  profileX1_O.isStopDecalE = im.BoolPtr(false)
  profileX1_O.conditionEndStopS = im.BoolPtr(false)
  profileX1_O.isStopDecalE = im.BoolPtr(false)
  profileX1_O.conditionEndStopS = im.BoolPtr(false)
  profileX1_O.conditionEndStopE = im.BoolPtr(false)
  profileX1_O.conditionEndStopS = im.BoolPtr(false)
  profileX1_O.conditionEndStopE = im.BoolPtr(false)
  profileX1_O.continueLinesToEnd = im.BoolPtr(true)
  profileX1_O.conditionEndStopE = im.BoolPtr(false)
  profileX1_O.continueLinesToEnd = im.BoolPtr(true)
  local rIdx = #roadMgr.roads + 1
  roadX2_O.isJctRoad = true
  profileX2_O.isEdgeBlendL = im.BoolPtr(true)
  profileX2_O.isEdgeBlendR = im.BoolPtr(true)
  profileX2_O.isEdgeBlendL = im.BoolPtr(true)
  profileX2_O.isEdgeBlendR = im.BoolPtr(true)
  profileX2_O.isStopDecalS = im.BoolPtr(false)
  profileX2_O.isEdgeBlendR = im.BoolPtr(true)
  profileX2_O.isStopDecalS = im.BoolPtr(false)
  profileX2_O.isStopDecalE = im.BoolPtr(false)
  profileX2_O.isStopDecalS = im.BoolPtr(false)
  profileX2_O.isStopDecalE = im.BoolPtr(false)
  profileX2_O.continueLinesToEnd = im.BoolPtr(true)
  profileX2_O.isStopDecalE = im.BoolPtr(false)
  profileX2_O.continueLinesToEnd = im.BoolPtr(true)
  local rIdx = #roadMgr.roads + 1
    roadX2_O.nodes[5].isLocked = false
    profileX2_O.conditionEndStopS = im.BoolPtr(false)
    profileX2_O.conditionEndStopE = im.BoolPtr(false)
    profileX2_O.conditionEndStopS = im.BoolPtr(false)
    profileX2_O.conditionEndStopE = im.BoolPtr(false)
  else
    roadX2_O.nodes[5].isLocked = true
    profileX2_O.conditionEndStopS = im.BoolPtr(false)
    profileX2_O.conditionEndStopE = im.BoolPtr(false)
    profileX2_O.conditionEndStopS = im.BoolPtr(false)
    profileX2_O.conditionEndStopE = im.BoolPtr(false)
  end
  roadX3_O.isJctRoad = true
  profileX3_O.isEdgeBlendL = im.BoolPtr(true)
  profileX3_O.isEdgeBlendR = im.BoolPtr(true)
  profileX3_O.isEdgeBlendL = im.BoolPtr(true)
  profileX3_O.isEdgeBlendR = im.BoolPtr(true)
  profileX3_O.isStopDecalS = im.BoolPtr(false)
  profileX3_O.isEdgeBlendR = im.BoolPtr(true)
  profileX3_O.isStopDecalS = im.BoolPtr(false)
  profileX3_O.isStopDecalE = im.BoolPtr(false)
  profileX3_O.isStopDecalS = im.BoolPtr(false)
  profileX3_O.isStopDecalE = im.BoolPtr(false)
  profileX3_O.conditionEndStopS = im.BoolPtr(false)
  profileX3_O.isStopDecalE = im.BoolPtr(false)
  profileX3_O.conditionEndStopS = im.BoolPtr(false)
  profileX3_O.conditionEndStopE = im.BoolPtr(false)
  profileX3_O.conditionEndStopS = im.BoolPtr(false)
  profileX3_O.conditionEndStopE = im.BoolPtr(false)
  profileX3_O.continueLinesToEnd = im.BoolPtr(true)
  profileX3_O.conditionEndStopE = im.BoolPtr(false)
  profileX3_O.continueLinesToEnd = im.BoolPtr(true)
  local rIdx = #roadMgr.roads + 1
  roadS1.isJctRoad = true
  profileS1.isEdgeBlendL = im.BoolPtr(true)
  profileS1.isEdgeBlendR = im.BoolPtr(true)
  profileS1.isEdgeBlendL = im.BoolPtr(true)
  profileS1.isEdgeBlendR = im.BoolPtr(true)
  profileS1.conditionEdgesL = im.BoolPtr(false)
  profileS1.isEdgeBlendR = im.BoolPtr(true)
  profileS1.conditionEdgesL = im.BoolPtr(false)
  profileS1.conditionEdgesR = im.BoolPtr(false)
  profileS1.conditionEdgesL = im.BoolPtr(false)
  profileS1.conditionEdgesR = im.BoolPtr(false)
  profileS1.conditionEndStopS = im.BoolPtr(true)
  profileS1.conditionEdgesR = im.BoolPtr(false)
  profileS1.conditionEndStopS = im.BoolPtr(true)
  profileS1.conditionEndStopE = im.BoolPtr(false)
  profileS1.conditionEndStopS = im.BoolPtr(true)
  profileS1.conditionEndStopE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadS3.isJctRoad = true
  profileS3.isEdgeBlendL = im.BoolPtr(true)
  profileS3.isEdgeBlendR = im.BoolPtr(true)
  profileS3.isEdgeBlendL = im.BoolPtr(true)
  profileS3.isEdgeBlendR = im.BoolPtr(true)
  profileS3.conditionEdgesL = im.BoolPtr(false)
  profileS3.isEdgeBlendR = im.BoolPtr(true)
  profileS3.conditionEdgesL = im.BoolPtr(false)
  profileS3.conditionEdgesR = im.BoolPtr(false)
  profileS3.conditionEdgesL = im.BoolPtr(false)
  profileS3.conditionEdgesR = im.BoolPtr(false)
  profileS3.conditionEndStopS = im.BoolPtr(true)
  profileS3.conditionEdgesR = im.BoolPtr(false)
  profileS3.conditionEndStopS = im.BoolPtr(true)
  profileS3.conditionEndStopE = im.BoolPtr(false)
  profileS3.conditionEndStopS = im.BoolPtr(true)
  profileS3.conditionEndStopE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadS2.isJctRoad = true
  profileS2.isEdgeBlendL = im.BoolPtr(true)
  profileS2.isEdgeBlendR = im.BoolPtr(true)
  profileS2.isEdgeBlendL = im.BoolPtr(true)
  profileS2.isEdgeBlendR = im.BoolPtr(true)
  profileS2.conditionEdgesL = im.BoolPtr(false)
  profileS2.isEdgeBlendR = im.BoolPtr(true)
  profileS2.conditionEdgesL = im.BoolPtr(false)
  profileS2.conditionEdgesR = im.BoolPtr(false)
  profileS2.conditionEdgesL = im.BoolPtr(false)
  profileS2.conditionEdgesR = im.BoolPtr(false)
  profileS2.conditionEndStopS = im.BoolPtr(false)
  profileS2.conditionEdgesR = im.BoolPtr(false)
  profileS2.conditionEndStopS = im.BoolPtr(false)
  profileS2.conditionEndStopE = im.BoolPtr(false)
  profileS2.conditionEndStopS = im.BoolPtr(false)
  profileS2.conditionEndStopE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadS1.isJctRoad = true
  profileS1.isEdgeBlendL = im.BoolPtr(true)
  profileS1.isEdgeBlendR = im.BoolPtr(true)
  profileS1.isEdgeBlendL = im.BoolPtr(true)
  profileS1.isEdgeBlendR = im.BoolPtr(true)
  profileS1.conditionEdgesL = im.BoolPtr(false)
  profileS1.isEdgeBlendR = im.BoolPtr(true)
  profileS1.conditionEdgesL = im.BoolPtr(false)
  profileS1.conditionEdgesR = im.BoolPtr(false)
  profileS1.conditionEdgesL = im.BoolPtr(false)
  profileS1.conditionEdgesR = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadS3.isJctRoad = true
  profileS3.isEdgeBlendL = im.BoolPtr(true)
  profileS3.isEdgeBlendR = im.BoolPtr(true)
  profileS3.isEdgeBlendL = im.BoolPtr(true)
  profileS3.isEdgeBlendR = im.BoolPtr(true)
  profileS3.conditionEdgesL = im.BoolPtr(false)
  profileS3.isEdgeBlendR = im.BoolPtr(true)
  profileS3.conditionEdgesL = im.BoolPtr(false)
  profileS3.conditionEdgesR = im.BoolPtr(false)
  profileS3.conditionEdgesL = im.BoolPtr(false)
  profileS3.conditionEdgesR = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadS2.isJctRoad = true
  profileS2.isEdgeBlendL = im.BoolPtr(true)
  profileS2.isEdgeBlendR = im.BoolPtr(true)
  profileS2.isEdgeBlendL = im.BoolPtr(true)
  profileS2.isEdgeBlendR = im.BoolPtr(true)
  profileS2.conditionEdgesL = im.BoolPtr(false)
  profileS2.isEdgeBlendR = im.BoolPtr(true)
  profileS2.conditionEdgesL = im.BoolPtr(false)
  profileS2.conditionEdgesR = im.BoolPtr(false)
  profileS2.conditionEdgesL = im.BoolPtr(false)
  profileS2.conditionEdgesR = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(1),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(-numLanesX - 1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = '[None]',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(1),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(numLanesX + 1), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = '[None]',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(1),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(-1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = '[None]',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(1),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(1), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = '[None]',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(1),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(-numLanesX - 2), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = '[None]',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(1),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(numLanesX + 2), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = '[None]',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(1),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(-1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = '[None]',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(1),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(1), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = '[None]',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(1),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(-numLanesX - 2), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = '[None]',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(1),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(numLanesX + 2), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = '[None]',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(1),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(-1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = '[None]',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(1),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(1), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = '[None]',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(4),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(-1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_guardrails_basic.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(4),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(1), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_guardrails_basic.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(4),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(-1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_guardrails_basic.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(4),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(1), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_guardrails_basic.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(4),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(-1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_guardrails_basic.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(4),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(1), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_guardrails_basic.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(4),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(-numLanesX - 2), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_guardrails_basic.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(4),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(numLanesX + 2), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_guardrails_basic.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(4),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(-numLanesX - 3), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_guardrails_basic.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(4),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(numLanesX + 3), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_guardrails_basic.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(4),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(-numLanesX - 3), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_guardrails_basic.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(4),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(numLanesX + 3), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_guardrails_basic.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(5),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_traf_sign_junction_merge_left.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(5),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_traf_sign_junction_merge_left.dae',
  roadS1.isJctRoad = true
  profileS1.isEdgeBlendL = im.BoolPtr(true)
  profileS1.isEdgeBlendR = im.BoolPtr(true)
  profileS1.isEdgeBlendL = im.BoolPtr(true)
  profileS1.isEdgeBlendR = im.BoolPtr(true)
  profileS1.continueLinesToEnd = im.BoolPtr(true)
  profileS1.isEdgeBlendR = im.BoolPtr(true)
  profileS1.continueLinesToEnd = im.BoolPtr(true)
  local rIdx = #roadMgr.roads + 1
  if jct.isSidewalk[0] then
    profileS3.isEdgeBlendL = im.BoolPtr(false)
    profileS3.isEdgeBlendR = im.BoolPtr(false)
    profileS3.isEdgeBlendL = im.BoolPtr(false)
    profileS3.isEdgeBlendR = im.BoolPtr(false)
  else
  else
    profileS3.isEdgeBlendL = im.BoolPtr(true)
    profileS3.isEdgeBlendR = im.BoolPtr(true)
    profileS3.isEdgeBlendL = im.BoolPtr(true)
    profileS3.isEdgeBlendR = im.BoolPtr(true)
  end
  end
  profileS3.conditionCenterline = im.BoolPtr(true)
  profileS3.continueLinesToEnd = im.BoolPtr(true)
  profileS3.conditionCenterline = im.BoolPtr(true)
  profileS3.continueLinesToEnd = im.BoolPtr(true)
  local rIdx = #roadMgr.roads + 1
  roadS2.isJctRoad = true
  profileS2.isEdgeBlendL = im.BoolPtr(true)
  profileS2.isEdgeBlendR = im.BoolPtr(true)
  profileS2.isEdgeBlendL = im.BoolPtr(true)
  profileS2.isEdgeBlendR = im.BoolPtr(true)
  profileS2.continueLinesToEnd = im.BoolPtr(true)
  profileS2.isEdgeBlendR = im.BoolPtr(true)
  profileS2.continueLinesToEnd = im.BoolPtr(true)
  local rIdx = #roadMgr.roads + 1
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(true),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(true),
      type = im.IntPtr(0),
      laneMin = im.IntPtr(-1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(1.0),
      width = im.FloatPtr(1.0),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = '[None]',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(4),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(leftIdx), isLeft = im.BoolPtr(isLeft), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = 'italy_guardrails_basic.dae',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(4),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(1), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = 'italy_guardrails_basic.dae',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(4),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(lIdx), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = 'italy_guardrails_basic.dae',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(4),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(rIdx), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = 'italy_guardrails_basic.dae',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(4),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(lIdx), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = 'italy_guardrails_basic.dae',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(4),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(rIdx), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = 'italy_guardrails_basic.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(5),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(-1), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_traf_sign_keep_right.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(5),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(-1), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_traf_sign_keep_right.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(5),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(-1), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_traf_sign_warn_road_narrows.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(5),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(-1), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_traf_sign_warn_road_narrows.dae',
  roadS1.isJctRoad = true
  profileS1.isEdgeBlendL = im.BoolPtr(true)
  profileS1.isEdgeBlendR = im.BoolPtr(true)
  profileS1.isEdgeBlendL = im.BoolPtr(true)
  profileS1.isEdgeBlendR = im.BoolPtr(true)
  profileS1.conditionEdgesL = im.BoolPtr(true)
  profileS1.isEdgeBlendR = im.BoolPtr(true)
  profileS1.conditionEdgesL = im.BoolPtr(true)
  profileS1.conditionEdgesR = im.BoolPtr(true)
  profileS1.conditionEdgesL = im.BoolPtr(true)
  profileS1.conditionEdgesR = im.BoolPtr(true)
  profileS1.continueLinesToEnd = im.BoolPtr(true)
  profileS1.conditionEdgesR = im.BoolPtr(true)
  profileS1.continueLinesToEnd = im.BoolPtr(true)
  local rIdx = #roadMgr.roads + 1
  roadS2A.isJctRoad = true
  profileS2A.isEdgeBlendL = im.BoolPtr(true)
  profileS2A.isEdgeBlendR = im.BoolPtr(true)
  profileS2A.isEdgeBlendL = im.BoolPtr(true)
  profileS2A.isEdgeBlendR = im.BoolPtr(true)
  profileS2A.conditionEdgesL = im.BoolPtr(true)
  profileS2A.isEdgeBlendR = im.BoolPtr(true)
  profileS2A.conditionEdgesL = im.BoolPtr(true)
  profileS2A.conditionEdgesR = im.BoolPtr(true)
  profileS2A.conditionEdgesL = im.BoolPtr(true)
  profileS2A.conditionEdgesR = im.BoolPtr(true)
  profileS2A.continueLinesToEnd = im.BoolPtr(true)
  profileS2A.conditionEdgesR = im.BoolPtr(true)
  profileS2A.continueLinesToEnd = im.BoolPtr(true)
  local rIdx = #roadMgr.roads + 1
  roadS2B.isJctRoad = true
  profileS2B.isEdgeBlendL = im.BoolPtr(true)
  profileS2B.isEdgeBlendR = im.BoolPtr(true)
  profileS2B.isEdgeBlendL = im.BoolPtr(true)
  profileS2B.isEdgeBlendR = im.BoolPtr(true)
  profileS2B.conditionEdgesL = im.BoolPtr(true)
  profileS2B.isEdgeBlendR = im.BoolPtr(true)
  profileS2B.conditionEdgesL = im.BoolPtr(true)
  profileS2B.conditionEdgesR = im.BoolPtr(true)
  profileS2B.conditionEdgesL = im.BoolPtr(true)
  profileS2B.conditionEdgesR = im.BoolPtr(true)
  profileS2B.continueLinesToEnd = im.BoolPtr(true)
  profileS2B.conditionEdgesR = im.BoolPtr(true)
  profileS2B.continueLinesToEnd = im.BoolPtr(true)
  local rIdx = #roadMgr.roads + 1
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(4),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(-1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_guardrails_basic.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(4),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(1), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_guardrails_basic.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(4),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_guardrails_basic.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(4),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_guardrails_basic.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(4),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(-numLanesX - 2), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_guardrails_basic.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(4),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(numLanesX + 2), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_guardrails_basic.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(4),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(numLanesX + 1), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_guardrails_basic.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(4),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(numLanesX + 1), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_guardrails_basic.dae',
  roadS1.isJctRoad = true
  profileS1.isEdgeBlendL = im.BoolPtr(true)
  profileS1.isEdgeBlendR = im.BoolPtr(true)
  profileS1.isEdgeBlendL = im.BoolPtr(true)
  profileS1.isEdgeBlendR = im.BoolPtr(true)
  profileS1.conditionEdgesL = im.BoolPtr(false)
  profileS1.isEdgeBlendR = im.BoolPtr(true)
  profileS1.conditionEdgesL = im.BoolPtr(false)
  profileS1.conditionEdgesR = im.BoolPtr(false)
  profileS1.conditionEdgesL = im.BoolPtr(false)
  profileS1.conditionEdgesR = im.BoolPtr(false)
  profileS1.conditionEndStopS = im.BoolPtr(true)
  profileS1.conditionEdgesR = im.BoolPtr(false)
  profileS1.conditionEndStopS = im.BoolPtr(true)
  profileS1.conditionEndStopE = im.BoolPtr(false)
  profileS1.conditionEndStopS = im.BoolPtr(true)
  profileS1.conditionEndStopE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadS2.isJctRoad = true
  profileS2.isEdgeBlendL = im.BoolPtr(true)
  profileS2.isEdgeBlendR = im.BoolPtr(true)
  profileS2.isEdgeBlendL = im.BoolPtr(true)
  profileS2.isEdgeBlendR = im.BoolPtr(true)
  profileS2.conditionEdgesL = im.BoolPtr(false)
  profileS2.isEdgeBlendR = im.BoolPtr(true)
  profileS2.conditionEdgesL = im.BoolPtr(false)
  profileS2.conditionEdgesR = im.BoolPtr(false)
  profileS2.conditionEdgesL = im.BoolPtr(false)
  profileS2.conditionEdgesR = im.BoolPtr(false)
  profileS2.conditionEndStopS = im.BoolPtr(false)
  profileS2.conditionEdgesR = im.BoolPtr(false)
  profileS2.conditionEndStopS = im.BoolPtr(false)
  profileS2.conditionEndStopE = im.BoolPtr(false)
  profileS2.conditionEndStopS = im.BoolPtr(false)
  profileS2.conditionEndStopE = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadS1.isJctRoad = true
  profileS1.isEdgeBlendL = im.BoolPtr(true)
  profileS1.isEdgeBlendR = im.BoolPtr(true)
  profileS1.isEdgeBlendL = im.BoolPtr(true)
  profileS1.isEdgeBlendR = im.BoolPtr(true)
  profileS1.conditionEdgesL = im.BoolPtr(true)
  profileS1.isEdgeBlendR = im.BoolPtr(true)
  profileS1.conditionEdgesL = im.BoolPtr(true)
  profileS1.conditionEdgesR = im.BoolPtr(true)
  profileS1.conditionEdgesL = im.BoolPtr(true)
  profileS1.conditionEdgesR = im.BoolPtr(true)
  profileS1.conditionEndStopS = im.BoolPtr(true)
  profileS1.conditionEdgesR = im.BoolPtr(true)
  profileS1.conditionEndStopS = im.BoolPtr(true)
  profileS1.conditionEndStopE = im.BoolPtr(false)
  profileS1.conditionEndStopS = im.BoolPtr(true)
  profileS1.conditionEndStopE = im.BoolPtr(false)
  profileS1.continueLinesToEnd = im.BoolPtr(true)
  profileS1.conditionEndStopE = im.BoolPtr(false)
  profileS1.continueLinesToEnd = im.BoolPtr(true)
  local rIdx = #roadMgr.roads + 1
  roadS2A.isJctRoad = true
  profileS2A.isEdgeBlendL = im.BoolPtr(true)
  profileS2A.isEdgeBlendR = im.BoolPtr(true)
  profileS2A.isEdgeBlendL = im.BoolPtr(true)
  profileS2A.isEdgeBlendR = im.BoolPtr(true)
  profileS2A.conditionEdgesL = im.BoolPtr(true)
  profileS2A.isEdgeBlendR = im.BoolPtr(true)
  profileS2A.conditionEdgesL = im.BoolPtr(true)
  profileS2A.conditionEdgesR = im.BoolPtr(true)
  profileS2A.conditionEdgesL = im.BoolPtr(true)
  profileS2A.conditionEdgesR = im.BoolPtr(true)
  profileS2A.conditionEndStopS = im.BoolPtr(false)
  profileS2A.conditionEdgesR = im.BoolPtr(true)
  profileS2A.conditionEndStopS = im.BoolPtr(false)
  profileS2A.conditionEndStopE = im.BoolPtr(true)
  profileS2A.conditionEndStopS = im.BoolPtr(false)
  profileS2A.conditionEndStopE = im.BoolPtr(true)
  profileS2A.continueLinesToEnd = im.BoolPtr(true)
  profileS2A.conditionEndStopE = im.BoolPtr(true)
  profileS2A.continueLinesToEnd = im.BoolPtr(true)
  local rIdx = #roadMgr.roads + 1
  roadS2B.isJctRoad = true
  profileS2B.isEdgeBlendL = im.BoolPtr(true)
  profileS2B.isEdgeBlendR = im.BoolPtr(true)
  profileS2B.isEdgeBlendL = im.BoolPtr(true)
  profileS2B.isEdgeBlendR = im.BoolPtr(true)
  profileS2B.conditionEdgesL = im.BoolPtr(true)
  profileS2B.isEdgeBlendR = im.BoolPtr(true)
  profileS2B.conditionEdgesL = im.BoolPtr(true)
  profileS2B.conditionEdgesR = im.BoolPtr(true)
  profileS2B.conditionEdgesL = im.BoolPtr(true)
  profileS2B.conditionEdgesR = im.BoolPtr(true)
  profileS2B.conditionEndStopS = im.BoolPtr(true)
  profileS2B.conditionEdgesR = im.BoolPtr(true)
  profileS2B.conditionEndStopS = im.BoolPtr(true)
  profileS2B.conditionEndStopE = im.BoolPtr(false)
  profileS2B.conditionEndStopS = im.BoolPtr(true)
  profileS2B.conditionEndStopE = im.BoolPtr(false)
  profileS2B.continueLinesToEnd = im.BoolPtr(true)
  profileS2B.conditionEndStopE = im.BoolPtr(false)
  profileS2B.continueLinesToEnd = im.BoolPtr(true)
  local rIdx = #roadMgr.roads + 1
      name = im.ArrayChar(32, 'Edge Blend Inner L'),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(1),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(-1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.5),
      width = im.FloatPtr(2.0),
      width = im.FloatPtr(2.0),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(18),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = '[None]',
      name = im.ArrayChar(32, 'Edge Blend Inner R'),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(true),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(true),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(true),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(1),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(1), isLeft = im.BoolPtr(false), off = im.FloatPtr(-0.5),
      width = im.FloatPtr(2.0),
      width = im.FloatPtr(2.0),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(18),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = '[None]',
      name = im.ArrayChar(32, 'Edge Blend Outer L'),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(true),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(true),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(true),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(1),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(lMin), isLeft = im.BoolPtr(true), off = im.FloatPtr(-0.5),
      width = im.FloatPtr(2.0),
      width = im.FloatPtr(2.0),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(18),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = '[None]',
      name = im.ArrayChar(32, 'Edge Blend Outer R'),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(1),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(lMax), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.5),
      width = im.FloatPtr(2.0),
      width = im.FloatPtr(2.0),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(18),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = '[None]',
  roadS1.isJctRoad = true
  profileS1.isEdgeBlendL = im.BoolPtr(true)
  profileS1.isEdgeBlendR = im.BoolPtr(true)
  profileS1.isEdgeBlendL = im.BoolPtr(true)
  profileS1.isEdgeBlendR = im.BoolPtr(true)
  profileS1.conditionEdgesL = im.BoolPtr(false)
  profileS1.isEdgeBlendR = im.BoolPtr(true)
  profileS1.conditionEdgesL = im.BoolPtr(false)
  profileS1.conditionEdgesR = im.BoolPtr(false)
  profileS1.conditionEdgesL = im.BoolPtr(false)
  profileS1.conditionEdgesR = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadS4.isJctRoad = true
  profileS4.isEdgeBlendL = im.BoolPtr(true)
  profileS4.isEdgeBlendR = im.BoolPtr(true)
  profileS4.isEdgeBlendL = im.BoolPtr(true)
  profileS4.isEdgeBlendR = im.BoolPtr(true)
  profileS4.conditionEdgesL = im.BoolPtr(false)
  profileS4.isEdgeBlendR = im.BoolPtr(true)
  profileS4.conditionEdgesL = im.BoolPtr(false)
  profileS4.conditionEdgesR = im.BoolPtr(false)
  profileS4.conditionEdgesL = im.BoolPtr(false)
  profileS4.conditionEdgesR = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadS2.isJctRoad = true
  profileS2.isEdgeBlendL = im.BoolPtr(true)
  profileS2.isEdgeBlendR = im.BoolPtr(true)
  profileS2.isEdgeBlendL = im.BoolPtr(true)
  profileS2.isEdgeBlendR = im.BoolPtr(true)
  profileS2.conditionEdgesL = im.BoolPtr(false)
  profileS2.isEdgeBlendR = im.BoolPtr(true)
  profileS2.conditionEdgesL = im.BoolPtr(false)
  profileS2.conditionEdgesR = im.BoolPtr(false)
  profileS2.conditionEdgesL = im.BoolPtr(false)
  profileS2.conditionEdgesR = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadS3.isJctRoad = true
  profileS3.isEdgeBlendL = im.BoolPtr(true)
  profileS3.isEdgeBlendR = im.BoolPtr(true)
  profileS3.isEdgeBlendL = im.BoolPtr(true)
  profileS3.isEdgeBlendR = im.BoolPtr(true)
  profileS3.conditionEdgesL = im.BoolPtr(false)
  profileS3.isEdgeBlendR = im.BoolPtr(true)
  profileS3.conditionEdgesL = im.BoolPtr(false)
  profileS3.conditionEdgesR = im.BoolPtr(false)
  profileS3.conditionEdgesL = im.BoolPtr(false)
  profileS3.conditionEdgesR = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadEL.isJctRoad = true
  profileEL.isEdgeBlendL = im.BoolPtr(true)
  profileEL.isEdgeBlendR = im.BoolPtr(true)
  profileEL.isEdgeBlendL = im.BoolPtr(true)
  profileEL.isEdgeBlendR = im.BoolPtr(true)
  profileEL.conditionEdgesL = im.BoolPtr(false)
  profileEL.isEdgeBlendR = im.BoolPtr(true)
  profileEL.conditionEdgesL = im.BoolPtr(false)
  profileEL.conditionEdgesR = im.BoolPtr(false)
  profileEL.conditionEdgesL = im.BoolPtr(false)
  profileEL.conditionEdgesR = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadER.isJctRoad = true
  profileER.isEdgeBlendL = im.BoolPtr(true)
  profileER.isEdgeBlendR = im.BoolPtr(true)
  profileER.isEdgeBlendL = im.BoolPtr(true)
  profileER.isEdgeBlendR = im.BoolPtr(true)
  profileER.conditionEdgesL = im.BoolPtr(false)
  profileER.isEdgeBlendR = im.BoolPtr(true)
  profileER.conditionEdgesL = im.BoolPtr(false)
  profileER.conditionEdgesR = im.BoolPtr(false)
  profileER.conditionEdgesL = im.BoolPtr(false)
  profileER.conditionEdgesR = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(0),
    laneMin = im.IntPtr(-numLanesX - 2), laneMax = im.IntPtr(-numLanesX - 2),
    lane = im.IntPtr(-numLanesX - 2), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
    width = im.FloatPtr(1.0),
    width = im.FloatPtr(1.0),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = '[None]',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(0),
    laneMin = im.IntPtr(numLanesX + 2), laneMax = im.IntPtr(numLanesX + 2),
    lane = im.IntPtr(numLanesX + 2), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
    width = im.FloatPtr(1.0),
    width = im.FloatPtr(1.0),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = '[None]',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(1),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(-numLanesX - 1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = '[None]',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(1),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(numLanesX + 1), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = '[None]',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(1),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(-1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = '[None]',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(1),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(1), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = '[None]',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(1),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(-numLanesX - 1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = '[None]',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(1),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(numLanesX + 1), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = '[None]',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(1),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(-1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = '[None]',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(1),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(1), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = '[None]',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(1),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(-numLanesX - 2), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = '[None]',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(1),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(numLanesX + 2), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = '[None]',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(1),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(-1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = '[None]',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(1),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(1), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = '[None]',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(1),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(-numLanesX - 3), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = '[None]',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(1),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(numLanesX + 3), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = '[None]',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(1),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(-numLanesX - 3), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = '[None]',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(1),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(numLanesX + 3), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = '[None]',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(1),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(-numLanesX - 1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = '[None]',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(1),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(numLanesX + 1), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = '[None]',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(1),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(-1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = '[None]',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(1),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(1), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = '[None]',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(1),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = '[None]',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(1),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(1), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = '[None]',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(1),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = '[None]',
    isHidden = false,
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    doNotDelete = im.BoolPtr(true),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isReverse = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    isPaint = im.BoolPtr(false),
    isDisplay = im.BoolPtr(false),
    type = im.IntPtr(1),
    laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
    lane = im.IntPtr(1), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
    width = im.FloatPtr(0.25),
    width = im.FloatPtr(0.25),
    isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
    texLen = im.FloatPtr(5),
    jitter = im.FloatPtr(0.0),
    useWorldZ = im.BoolPtr(false),
    matDisplay = '[None]',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(4),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(-1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_guardrails_basic.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(4),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(1), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_guardrails_basic.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(4),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(-1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_guardrails_basic.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(4),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(1), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_guardrails_basic.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(4),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(-1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_guardrails_basic.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(4),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(1), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_guardrails_basic.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(4),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(-1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_guardrails_basic.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(4),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(1), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_guardrails_basic.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(4),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(-numLanesX - 2), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_guardrails_basic.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(4),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(numLanesX + 2), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_guardrails_basic.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(4),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(-numLanesX - 3), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_guardrails_basic.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(4),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(numLanesX + 3), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_guardrails_basic.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(4),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(-numLanesX - 4), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_guardrails_basic.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(4),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(numLanesX + 4), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_guardrails_basic.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(5),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(-numLanesX - 1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_traf_sign_pass_either_side.dae',
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(5),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(numLanesX + 1), isLeft = im.BoolPtr(false), off = im.FloatPtr(0.0),
      width = im.FloatPtr(0.25),
      width = im.FloatPtr(0.25),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = 'italy_traf_sign_junction_merge_left.dae',
      extraRadRB = im.FloatPtr(0.0),
      isYOneWay = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(true),
      isYOneWay = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(true),
      isY2Outwards = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(true),
      isY2Outwards = im.BoolPtr(false),
      s2Length = im.FloatPtr(1.0),
      hardWidth = im.FloatPtr(1.0),
      isBarriersI = im.BoolPtr(false),
      isBarriersO = im.BoolPtr(false),
      isBarriersI = im.BoolPtr(false),
      isBarriersO = im.BoolPtr(false),
      isSigns = im.BoolPtr(true),
      isBarriersO = im.BoolPtr(false),
      isSigns = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isSigns = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX3 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX3 = im.BoolPtr(true),
      isPedX4 = im.BoolPtr(true),
      isPedX3 = im.BoolPtr(true),
      isPedX4 = im.BoolPtr(true),
      pedXDist = im.FloatPtr(3.5),
      pedXWidth = im.FloatPtr(2.0),
      isSidewalk = im.BoolPtr(true),
      bevel = im.FloatPtr(2.5),
      sidewalkHeight = im.FloatPtr(0.12),
      isLowerSWAtPedX = im.BoolPtr(true),
      isTLights = im.BoolPtr(true),
      isLowerSWAtPedX = im.BoolPtr(true),
      isTLights = im.BoolPtr(true),
      trafficLatOff = im.FloatPtr(-0.5),
      trafficLatOff = im.FloatPtr(-0.5),
      isCrossings = im.BoolPtr(true),
      displayCrossings = im.BoolPtr(false),
      isCrossings = im.BoolPtr(true),
      displayCrossings = im.BoolPtr(false),
      edgeBlendMat = defaultEdgeBlendMaterial,
      edgeBlendMat = defaultEdgeBlendMaterial,
      isArrow = im.BoolPtr(true),
      isDoubleArrows = im.BoolPtr(true),
      isArrow = im.BoolPtr(true),
      isDoubleArrows = im.BoolPtr(true),
      arrowSize = im.FloatPtr(1.5),
  roadX1_I.isJctRoad = true
  profileX1_I.isEdgeBlendL = im.BoolPtr(false)
  profileX1_I.isEdgeBlendR = im.BoolPtr(false)
  profileX1_I.isEdgeBlendL = im.BoolPtr(false)
  profileX1_I.isEdgeBlendR = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadX2_I.isJctRoad = true
  profileX2_I.isEdgeBlendL = im.BoolPtr(false)
  profileX2_I.isEdgeBlendR = im.BoolPtr(false)
  profileX2_I.isEdgeBlendL = im.BoolPtr(false)
  profileX2_I.isEdgeBlendR = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
      extraRadRB = im.FloatPtr(0.0),
      isYOneWay = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(false),
      isYOneWay = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(false),
      isY2Outwards = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(false),
      isY2Outwards = im.BoolPtr(false),
      s2Length = im.FloatPtr(1.0),
      hardWidth = im.FloatPtr(1.0),
      isBarriersI = im.BoolPtr(false),
      isBarriersO = im.BoolPtr(false),
      isBarriersI = im.BoolPtr(false),
      isBarriersO = im.BoolPtr(false),
      isSigns = im.BoolPtr(true),
      isBarriersO = im.BoolPtr(false),
      isSigns = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isSigns = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX3 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX3 = im.BoolPtr(true),
      isPedX4 = im.BoolPtr(true),
      isPedX3 = im.BoolPtr(true),
      isPedX4 = im.BoolPtr(true),
      pedXDist = im.FloatPtr(1.0),
      pedXWidth = im.FloatPtr(2.0),
      isSidewalk = im.BoolPtr(true),
      bevel = im.FloatPtr(2.5),
      sidewalkHeight = im.FloatPtr(0.12),
      isLowerSWAtPedX = im.BoolPtr(true),
      isTLights = im.BoolPtr(true),
      isLowerSWAtPedX = im.BoolPtr(true),
      isTLights = im.BoolPtr(true),
      trafficLatOff = im.FloatPtr(-2.6),
      trafficLatOff = im.FloatPtr(-2.6),
      isCrossings = im.BoolPtr(true),
      displayCrossings = im.BoolPtr(false),
      isCrossings = im.BoolPtr(true),
      displayCrossings = im.BoolPtr(false),
      edgeBlendMat = defaultEdgeBlendMaterial,
      edgeBlendMat = defaultEdgeBlendMaterial,
      isArrow = im.BoolPtr(true),
      isDoubleArrows = im.BoolPtr(true),
      isArrow = im.BoolPtr(true),
      isDoubleArrows = im.BoolPtr(true),
      arrowSize = im.FloatPtr(1.5),
  roadX1_I.isJctRoad = true
  profileX1_I.isEdgeBlendL = im.BoolPtr(false)
  profileX1_I.isEdgeBlendR = im.BoolPtr(false)
  profileX1_I.isEdgeBlendL = im.BoolPtr(false)
  profileX1_I.isEdgeBlendR = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadX2_I.isJctRoad = true
  profileX2_I.isEdgeBlendL = im.BoolPtr(false)
  profileX2_I.isEdgeBlendR = im.BoolPtr(false)
  profileX2_I.isEdgeBlendL = im.BoolPtr(false)
  profileX2_I.isEdgeBlendR = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
      extraRadRB = im.FloatPtr(0.0),
      isYOneWay = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(true),
      isYOneWay = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(true),
      isY2Outwards = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(true),
      isY2Outwards = im.BoolPtr(false),
      s2Length = im.FloatPtr(1.0),
      hardWidth = im.FloatPtr(1.0),
      isBarriersI = im.BoolPtr(false),
      isBarriersO = im.BoolPtr(false),
      isBarriersI = im.BoolPtr(false),
      isBarriersO = im.BoolPtr(false),
      isSigns = im.BoolPtr(true),
      isBarriersO = im.BoolPtr(false),
      isSigns = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isSigns = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX3 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX3 = im.BoolPtr(true),
      isPedX4 = im.BoolPtr(false),
      isPedX3 = im.BoolPtr(true),
      isPedX4 = im.BoolPtr(false),
      pedXDist = im.FloatPtr(1.0),
      pedXWidth = im.FloatPtr(2.0),
      isSidewalk = im.BoolPtr(true),
      bevel = im.FloatPtr(2.5),
      sidewalkHeight = im.FloatPtr(0.12),
      isLowerSWAtPedX = im.BoolPtr(true),
      isTLights = im.BoolPtr(true),
      isLowerSWAtPedX = im.BoolPtr(true),
      isTLights = im.BoolPtr(true),
      trafficLatOff = im.FloatPtr(-2.6),
      trafficLatOff = im.FloatPtr(-2.6),
      isCrossings = im.BoolPtr(true),
      displayCrossings = im.BoolPtr(false),
      isCrossings = im.BoolPtr(true),
      displayCrossings = im.BoolPtr(false),
      edgeBlendMat = defaultEdgeBlendMaterial,
      edgeBlendMat = defaultEdgeBlendMaterial,
      isArrow = im.BoolPtr(true),
      isDoubleArrows = im.BoolPtr(true),
      isArrow = im.BoolPtr(true),
      isDoubleArrows = im.BoolPtr(true),
      arrowSize = im.FloatPtr(1.5),
  roadX1_I.isJctRoad = true
  profileX1_I.isEdgeBlendL = im.BoolPtr(false)
  profileX1_I.isEdgeBlendR = im.BoolPtr(false)
  profileX1_I.isEdgeBlendL = im.BoolPtr(false)
  profileX1_I.isEdgeBlendR = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadX2_I.isJctRoad = true
  profileX2_I.isEdgeBlendL = im.BoolPtr(false)
  profileX2_I.isEdgeBlendR = im.BoolPtr(false)
  profileX2_I.isEdgeBlendL = im.BoolPtr(false)
  profileX2_I.isEdgeBlendR = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
      extraRadRB = im.FloatPtr(0.0),
      isYOneWay = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(true),
      isYOneWay = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(true),
      isY2Outwards = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(true),
      isY2Outwards = im.BoolPtr(false),
      s2Length = im.FloatPtr(1.0),
      hardWidth = im.FloatPtr(1.0),
      isBarriersI = im.BoolPtr(false),
      isBarriersO = im.BoolPtr(false),
      isBarriersI = im.BoolPtr(false),
      isBarriersO = im.BoolPtr(false),
      isSigns = im.BoolPtr(true),
      isBarriersO = im.BoolPtr(false),
      isSigns = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isSigns = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX3 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX3 = im.BoolPtr(true),
      isPedX4 = im.BoolPtr(false),
      isPedX3 = im.BoolPtr(true),
      isPedX4 = im.BoolPtr(false),
      pedXDist = im.FloatPtr(1.0),
      pedXWidth = im.FloatPtr(2.0),
      isSidewalk = im.BoolPtr(true),
      bevel = im.FloatPtr(10.0),
      sidewalkHeight = im.FloatPtr(0.12),
      isLowerSWAtPedX = im.BoolPtr(true),
      isTLights = im.BoolPtr(true),
      isLowerSWAtPedX = im.BoolPtr(true),
      isTLights = im.BoolPtr(true),
      trafficLatOff = im.FloatPtr(-0.5),
      trafficLatOff = im.FloatPtr(-0.5),
      isCrossings = im.BoolPtr(true),
      displayCrossings = im.BoolPtr(false),
      isCrossings = im.BoolPtr(true),
      displayCrossings = im.BoolPtr(false),
      edgeBlendMat = defaultEdgeBlendMaterial,
      edgeBlendMat = defaultEdgeBlendMaterial,
      isArrow = im.BoolPtr(true),
      isDoubleArrows = im.BoolPtr(true),
      isArrow = im.BoolPtr(true),
      isDoubleArrows = im.BoolPtr(true),
      arrowSize = im.FloatPtr(1.5),
  roadX1_I.isJctRoad = true
  profileX1_I.isEdgeBlendL = im.BoolPtr(true)
  profileX1_I.isEdgeBlendR = im.BoolPtr(true)
  profileX1_I.isEdgeBlendL = im.BoolPtr(true)
  profileX1_I.isEdgeBlendR = im.BoolPtr(true)
  local rIdx = #roadMgr.roads + 1
  roadX2_I.isJctRoad = true
  profileX2_I.isEdgeBlendL = im.BoolPtr(true)
  profileX2_I.isEdgeBlendR = im.BoolPtr(true)
  profileX2_I.isEdgeBlendL = im.BoolPtr(true)
  profileX2_I.isEdgeBlendR = im.BoolPtr(true)
  local rIdx = #roadMgr.roads + 1
      extraRadRB = im.FloatPtr(-1.2),
      isYOneWay = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(true),
      isYOneWay = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(true),
      isY2Outwards = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(true),
      isY2Outwards = im.BoolPtr(false),
      s2Length = im.FloatPtr(1.0),
      hardWidth = im.FloatPtr(1.0),
      isBarriersI = im.BoolPtr(false),
      isBarriersO = im.BoolPtr(false),
      isBarriersI = im.BoolPtr(false),
      isBarriersO = im.BoolPtr(false),
      isSigns = im.BoolPtr(true),
      isBarriersO = im.BoolPtr(false),
      isSigns = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isSigns = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX3 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX3 = im.BoolPtr(true),
      isPedX4 = im.BoolPtr(true),
      isPedX3 = im.BoolPtr(true),
      isPedX4 = im.BoolPtr(true),
      pedXDist = im.FloatPtr(1.0),
      pedXWidth = im.FloatPtr(2.0),
      isSidewalk = im.BoolPtr(true),
      bevel = im.FloatPtr(11.0),
      sidewalkHeight = im.FloatPtr(0.12),
      isLowerSWAtPedX = im.BoolPtr(true),
      isTLights = im.BoolPtr(false),
      isLowerSWAtPedX = im.BoolPtr(true),
      isTLights = im.BoolPtr(false),
      trafficLatOff = im.FloatPtr(-2.6),
      trafficLatOff = im.FloatPtr(-2.6),
      isCrossings = im.BoolPtr(true),
      displayCrossings = im.BoolPtr(false),
      isCrossings = im.BoolPtr(true),
      displayCrossings = im.BoolPtr(false),
      edgeBlendMat = defaultEdgeBlendMaterial,
      edgeBlendMat = defaultEdgeBlendMaterial,
      isArrow = im.BoolPtr(true),
      isDoubleArrows = im.BoolPtr(true),
      isArrow = im.BoolPtr(true),
      isDoubleArrows = im.BoolPtr(true),
      arrowSize = im.FloatPtr(1.5),
  roadX1_I.isJctRoad = true
  profileX1_I.isEdgeBlendL = im.BoolPtr(true)
  profileX1_I.isEdgeBlendR = im.BoolPtr(true)
  profileX1_I.isEdgeBlendL = im.BoolPtr(true)
  profileX1_I.isEdgeBlendR = im.BoolPtr(true)
  local rIdx = #roadMgr.roads + 1
  roadX2_I.isJctRoad = true
  profileX2_I.isEdgeBlendL = im.BoolPtr(true)
  profileX2_I.isEdgeBlendR = im.BoolPtr(true)
  profileX2_I.isEdgeBlendL = im.BoolPtr(true)
  profileX2_I.isEdgeBlendR = im.BoolPtr(true)
  local rIdx = #roadMgr.roads + 1
      extraRadRB = im.FloatPtr(0.0),
      isYOneWay = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(true),
      isYOneWay = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(true),
      isY2Outwards = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(true),
      isY2Outwards = im.BoolPtr(false),
      s2Length = im.FloatPtr(1.0),
      hardWidth = im.FloatPtr(1.0),
      isBarriersI = im.BoolPtr(false),
      isBarriersO = im.BoolPtr(false),
      isBarriersI = im.BoolPtr(false),
      isBarriersO = im.BoolPtr(false),
      isSigns = im.BoolPtr(true),
      isBarriersO = im.BoolPtr(false),
      isSigns = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isSigns = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX3 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX3 = im.BoolPtr(true),
      isPedX4 = im.BoolPtr(true),
      isPedX3 = im.BoolPtr(true),
      isPedX4 = im.BoolPtr(true),
      pedXDist = im.FloatPtr(1.0),
      pedXWidth = im.FloatPtr(2.0),
      isSidewalk = im.BoolPtr(true),
      bevel = im.FloatPtr(2.5),
      sidewalkHeight = im.FloatPtr(0.12),
      isLowerSWAtPedX = im.BoolPtr(true),
      isTLights = im.BoolPtr(true),
      isLowerSWAtPedX = im.BoolPtr(true),
      isTLights = im.BoolPtr(true),
      trafficLatOff = im.FloatPtr(-2.6),
      trafficLatOff = im.FloatPtr(-2.6),
      isCrossings = im.BoolPtr(true),
      displayCrossings = im.BoolPtr(false),
      isCrossings = im.BoolPtr(true),
      displayCrossings = im.BoolPtr(false),
      edgeBlendMat = defaultEdgeBlendMaterial,
      edgeBlendMat = defaultEdgeBlendMaterial,
      isArrow = im.BoolPtr(true),
      isDoubleArrows = im.BoolPtr(true),
      isArrow = im.BoolPtr(true),
      isDoubleArrows = im.BoolPtr(true),
      arrowSize = im.FloatPtr(1.5),
  roadX3_I.isJctRoad = true
  profileX3_I.isEdgeBlendL = im.BoolPtr(false)
  profileX3_I.isEdgeBlendR = im.BoolPtr(false)
  profileX3_I.isEdgeBlendL = im.BoolPtr(false)
  profileX3_I.isEdgeBlendR = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
      extraRadRB = im.FloatPtr(0.0),
      isYOneWay = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(true),
      isYOneWay = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(true),
      isY2Outwards = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(true),
      isY2Outwards = im.BoolPtr(false),
      s2Length = im.FloatPtr(20.0),
      hardWidth = im.FloatPtr(3.0),
      isBarriersI = im.BoolPtr(true),
      isBarriersO = im.BoolPtr(true),
      isBarriersI = im.BoolPtr(true),
      isBarriersO = im.BoolPtr(true),
      isSigns = im.BoolPtr(true),
      isBarriersO = im.BoolPtr(true),
      isSigns = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isSigns = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX3 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX3 = im.BoolPtr(true),
      isPedX4 = im.BoolPtr(true),
      isPedX3 = im.BoolPtr(true),
      isPedX4 = im.BoolPtr(true),
      pedXDist = im.FloatPtr(1.0),
      pedXWidth = im.FloatPtr(2.0),
      isSidewalk = im.BoolPtr(true),
      bevel = im.FloatPtr(2.5),
      sidewalkHeight = im.FloatPtr(0.12),
      isLowerSWAtPedX = im.BoolPtr(true),
      isTLights = im.BoolPtr(true),
      isLowerSWAtPedX = im.BoolPtr(true),
      isTLights = im.BoolPtr(true),
      trafficLatOff = im.FloatPtr(-2.6),
      trafficLatOff = im.FloatPtr(-2.6),
      isCrossings = im.BoolPtr(true),
      displayCrossings = im.BoolPtr(false),
      isCrossings = im.BoolPtr(true),
      displayCrossings = im.BoolPtr(false),
      edgeBlendMat = defaultEdgeBlendMaterial,
      edgeBlendMat = defaultEdgeBlendMaterial,
      isArrow = im.BoolPtr(true),
      isDoubleArrows = im.BoolPtr(true),
      isArrow = im.BoolPtr(true),
      isDoubleArrows = im.BoolPtr(true),
      arrowSize = im.FloatPtr(1.5),
  roadX1_I.isJctRoad = true
  profileX1_I.isEdgeBlendL = im.BoolPtr(false)
  profileX1_I.isEdgeBlendR = im.BoolPtr(false)
  profileX1_I.isEdgeBlendL = im.BoolPtr(false)
  profileX1_I.isEdgeBlendR = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadX2_I.isJctRoad = true
  profileX2_I.isEdgeBlendL = im.BoolPtr(false)
  profileX2_I.isEdgeBlendR = im.BoolPtr(false)
  profileX2_I.isEdgeBlendL = im.BoolPtr(false)
  profileX2_I.isEdgeBlendR = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
      extraRadRB = im.FloatPtr(0.0),
      isYOneWay = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(true),
      isYOneWay = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(true),
      isY2Outwards = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(true),
      isY2Outwards = im.BoolPtr(false),
      s2Length = im.FloatPtr(40.0),
      hardWidth = im.FloatPtr(3.0),
      isBarriersI = im.BoolPtr(true),
      isBarriersO = im.BoolPtr(true),
      isBarriersI = im.BoolPtr(true),
      isBarriersO = im.BoolPtr(true),
      isSigns = im.BoolPtr(true),
      isBarriersO = im.BoolPtr(true),
      isSigns = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isSigns = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX3 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX3 = im.BoolPtr(true),
      isPedX4 = im.BoolPtr(true),
      isPedX3 = im.BoolPtr(true),
      isPedX4 = im.BoolPtr(true),
      pedXDist = im.FloatPtr(1.0),
      pedXWidth = im.FloatPtr(2.0),
      isSidewalk = im.BoolPtr(true),
      bevel = im.FloatPtr(2.5),
      sidewalkHeight = im.FloatPtr(0.12),
      isLowerSWAtPedX = im.BoolPtr(true),
      isTLights = im.BoolPtr(true),
      isLowerSWAtPedX = im.BoolPtr(true),
      isTLights = im.BoolPtr(true),
      trafficLatOff = im.FloatPtr(-2.6),
      trafficLatOff = im.FloatPtr(-2.6),
      isCrossings = im.BoolPtr(true),
      displayCrossings = im.BoolPtr(false),
      isCrossings = im.BoolPtr(true),
      displayCrossings = im.BoolPtr(false),
      edgeBlendMat = defaultEdgeBlendMaterial,
      edgeBlendMat = defaultEdgeBlendMaterial,
      isArrow = im.BoolPtr(true),
      isDoubleArrows = im.BoolPtr(true),
      isArrow = im.BoolPtr(true),
      isDoubleArrows = im.BoolPtr(true),
      arrowSize = im.FloatPtr(1.5),
  roadX1_I.isJctRoad = true
  profileX1_I.isEdgeBlendL = im.BoolPtr(false)
  profileX1_I.isEdgeBlendR = im.BoolPtr(false)
  profileX1_I.isEdgeBlendL = im.BoolPtr(false)
  profileX1_I.isEdgeBlendR = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
      extraRadRB = im.FloatPtr(0.0),
      isYOneWay = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(true),
      isYOneWay = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(true),
      isY2Outwards = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(true),
      isY2Outwards = im.BoolPtr(false),
      s2Length = im.FloatPtr(40.0),
      hardWidth = im.FloatPtr(3.0),
      isBarriersI = im.BoolPtr(true),
      isBarriersO = im.BoolPtr(true),
      isBarriersI = im.BoolPtr(true),
      isBarriersO = im.BoolPtr(true),
      isSigns = im.BoolPtr(true),
      isBarriersO = im.BoolPtr(true),
      isSigns = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isSigns = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX3 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX3 = im.BoolPtr(true),
      isPedX4 = im.BoolPtr(true),
      isPedX3 = im.BoolPtr(true),
      isPedX4 = im.BoolPtr(true),
      pedXDist = im.FloatPtr(1.0),
      pedXWidth = im.FloatPtr(2.0),
      isSidewalk = im.BoolPtr(true),
      bevel = im.FloatPtr(2.5),
      sidewalkHeight = im.FloatPtr(0.12),
      isLowerSWAtPedX = im.BoolPtr(true),
      isTLights = im.BoolPtr(true),
      isLowerSWAtPedX = im.BoolPtr(true),
      isTLights = im.BoolPtr(true),
      trafficLatOff = im.FloatPtr(-2.6),
      trafficLatOff = im.FloatPtr(-2.6),
      isCrossings = im.BoolPtr(true),
      displayCrossings = im.BoolPtr(false),
      isCrossings = im.BoolPtr(true),
      displayCrossings = im.BoolPtr(false),
      edgeBlendMat = defaultEdgeBlendMaterial,
      edgeBlendMat = defaultEdgeBlendMaterial,
      isArrow = im.BoolPtr(true),
      isDoubleArrows = im.BoolPtr(true),
      isArrow = im.BoolPtr(true),
      isDoubleArrows = im.BoolPtr(true),
      arrowSize = im.FloatPtr(1.5),
  roadX1_I.isJctRoad = true
  profileX1_I.isEdgeBlendL = im.BoolPtr(false)
  profileX1_I.isEdgeBlendR = im.BoolPtr(false)
  profileX1_I.isEdgeBlendL = im.BoolPtr(false)
  profileX1_I.isEdgeBlendR = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadX2_I.isJctRoad = true
  profileX2_I.isEdgeBlendL = im.BoolPtr(false)
  profileX2_I.isEdgeBlendR = im.BoolPtr(false)
  profileX2_I.isEdgeBlendL = im.BoolPtr(false)
  profileX2_I.isEdgeBlendR = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
      extraRadRB = im.FloatPtr(0.0),
      isYOneWay = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(true),
      isYOneWay = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(true),
      isY2Outwards = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(true),
      isY2Outwards = im.BoolPtr(false),
      s2Length = im.FloatPtr(10.0),
      hardWidth = im.FloatPtr(3.0),
      isBarriersI = im.BoolPtr(true),
      isBarriersO = im.BoolPtr(true),
      isBarriersI = im.BoolPtr(true),
      isBarriersO = im.BoolPtr(true),
      isSigns = im.BoolPtr(true),
      isBarriersO = im.BoolPtr(true),
      isSigns = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isSigns = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX3 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX3 = im.BoolPtr(true),
      isPedX4 = im.BoolPtr(true),
      isPedX3 = im.BoolPtr(true),
      isPedX4 = im.BoolPtr(true),
      pedXDist = im.FloatPtr(1.0),
      pedXWidth = im.FloatPtr(2.0),
      isSidewalk = im.BoolPtr(true),
      bevel = im.FloatPtr(2.5),
      sidewalkHeight = im.FloatPtr(0.12),
      isLowerSWAtPedX = im.BoolPtr(true),
      isTLights = im.BoolPtr(true),
      isLowerSWAtPedX = im.BoolPtr(true),
      isTLights = im.BoolPtr(true),
      trafficLatOff = im.FloatPtr(-2.6),
      trafficLatOff = im.FloatPtr(-2.6),
      isCrossings = im.BoolPtr(true),
      displayCrossings = im.BoolPtr(false),
      isCrossings = im.BoolPtr(true),
      displayCrossings = im.BoolPtr(false),
      edgeBlendMat = defaultEdgeBlendMaterial,
      edgeBlendMat = defaultEdgeBlendMaterial,
      isArrow = im.BoolPtr(true),
      isDoubleArrows = im.BoolPtr(true),
      isArrow = im.BoolPtr(true),
      isDoubleArrows = im.BoolPtr(true),
      arrowSize = im.FloatPtr(1.5),
  roadS2.isJctRoad = true
  profileS2.isEdgeBlendL = im.BoolPtr(true)
  profileS2.isEdgeBlendR = im.BoolPtr(true)
  profileS2.isEdgeBlendL = im.BoolPtr(true)
  profileS2.isEdgeBlendR = im.BoolPtr(true)
  local rIdx = #roadMgr.roads + 1
      extraRadRB = im.FloatPtr(0.0),
      isYOneWay = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(true),
      isYOneWay = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(true),
      isY2Outwards = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(true),
      isY2Outwards = im.BoolPtr(false),
      s2Length = im.FloatPtr(40.0),
      hardWidth = im.FloatPtr(3.0),
      isBarriersI = im.BoolPtr(true),
      isBarriersO = im.BoolPtr(true),
      isBarriersI = im.BoolPtr(true),
      isBarriersO = im.BoolPtr(true),
      isSigns = im.BoolPtr(true),
      isBarriersO = im.BoolPtr(true),
      isSigns = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isSigns = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX3 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX3 = im.BoolPtr(true),
      isPedX4 = im.BoolPtr(true),
      isPedX3 = im.BoolPtr(true),
      isPedX4 = im.BoolPtr(true),
      pedXDist = im.FloatPtr(1.0),
      pedXWidth = im.FloatPtr(2.0),
      isSidewalk = im.BoolPtr(true),
      bevel = im.FloatPtr(2.5),
      sidewalkHeight = im.FloatPtr(0.12),
      isLowerSWAtPedX = im.BoolPtr(true),
      isTLights = im.BoolPtr(true),
      isLowerSWAtPedX = im.BoolPtr(true),
      isTLights = im.BoolPtr(true),
      trafficLatOff = im.FloatPtr(-2.6),
      trafficLatOff = im.FloatPtr(-2.6),
      isCrossings = im.BoolPtr(true),
      displayCrossings = im.BoolPtr(false),
      isCrossings = im.BoolPtr(true),
      displayCrossings = im.BoolPtr(false),
      edgeBlendMat = defaultEdgeBlendMaterial,
      edgeBlendMat = defaultEdgeBlendMaterial,
      isArrow = im.BoolPtr(true),
      isDoubleArrows = im.BoolPtr(true),
      isArrow = im.BoolPtr(true),
      isDoubleArrows = im.BoolPtr(true),
      arrowSize = im.FloatPtr(1.5),
  roadX1_I.isJctRoad = true
  profileX1_I.isEdgeBlendL = im.BoolPtr(false)
  profileX1_I.isEdgeBlendR = im.BoolPtr(false)
  profileX1_I.isEdgeBlendL = im.BoolPtr(false)
  profileX1_I.isEdgeBlendR = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
      extraRadRB = im.FloatPtr(0.0),
      isYOneWay = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(true),
      isYOneWay = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(true),
      isY2Outwards = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(true),
      isY2Outwards = im.BoolPtr(false),
      s2Length = im.FloatPtr(40.0),
      hardWidth = im.FloatPtr(3.0),
      isBarriersI = im.BoolPtr(true),
      isBarriersO = im.BoolPtr(true),
      isBarriersI = im.BoolPtr(true),
      isBarriersO = im.BoolPtr(true),
      isSigns = im.BoolPtr(true),
      isBarriersO = im.BoolPtr(true),
      isSigns = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isSigns = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX3 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX3 = im.BoolPtr(true),
      isPedX4 = im.BoolPtr(true),
      isPedX3 = im.BoolPtr(true),
      isPedX4 = im.BoolPtr(true),
      pedXDist = im.FloatPtr(1.0),
      pedXWidth = im.FloatPtr(2.0),
      isSidewalk = im.BoolPtr(true),
      bevel = im.FloatPtr(2.5),
      sidewalkHeight = im.FloatPtr(0.12),
      isLowerSWAtPedX = im.BoolPtr(true),
      isTLights = im.BoolPtr(true),
      isLowerSWAtPedX = im.BoolPtr(true),
      isTLights = im.BoolPtr(true),
      trafficLatOff = im.FloatPtr(-2.6),
      trafficLatOff = im.FloatPtr(-2.6),
      isCrossings = im.BoolPtr(true),
      displayCrossings = im.BoolPtr(false),
      isCrossings = im.BoolPtr(true),
      displayCrossings = im.BoolPtr(false),
      edgeBlendMat = defaultEdgeBlendMaterial,
      edgeBlendMat = defaultEdgeBlendMaterial,
      isArrow = im.BoolPtr(true),
      isDoubleArrows = im.BoolPtr(true),
      isArrow = im.BoolPtr(true),
      isDoubleArrows = im.BoolPtr(true),
      arrowSize = im.FloatPtr(1.5),
  roadX1_I.isJctRoad = true
  profileX1_I.isEdgeBlendL = im.BoolPtr(false)
  profileX1_I.isEdgeBlendR = im.BoolPtr(false)
  profileX1_I.isEdgeBlendL = im.BoolPtr(false)
  profileX1_I.isEdgeBlendR = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadX2_I.isJctRoad = true
  profileX2_I.isEdgeBlendL = im.BoolPtr(false)
  profileX2_I.isEdgeBlendR = im.BoolPtr(false)
  profileX2_I.isEdgeBlendL = im.BoolPtr(false)
  profileX2_I.isEdgeBlendR = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
      extraRadRB = im.FloatPtr(0.0),
      isYOneWay = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(true),
      isYOneWay = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(true),
      isY2Outwards = im.BoolPtr(false),
      isY1Outwards = im.BoolPtr(true),
      isY2Outwards = im.BoolPtr(false),
      s2Length = im.FloatPtr(20.0),
      hardWidth = im.FloatPtr(3.0),
      isBarriersI = im.BoolPtr(true),
      isBarriersO = im.BoolPtr(true),
      isBarriersI = im.BoolPtr(true),
      isBarriersO = im.BoolPtr(true),
      isSigns = im.BoolPtr(true),
      isBarriersO = im.BoolPtr(true),
      isSigns = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isSigns = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX1 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX3 = im.BoolPtr(true),
      isPedX2 = im.BoolPtr(true),
      isPedX3 = im.BoolPtr(true),
      isPedX4 = im.BoolPtr(true),
      isPedX3 = im.BoolPtr(true),
      isPedX4 = im.BoolPtr(true),
      pedXDist = im.FloatPtr(1.0),
      pedXWidth = im.FloatPtr(2.0),
      isSidewalk = im.BoolPtr(true),
      bevel = im.FloatPtr(2.5),
      sidewalkHeight = im.FloatPtr(0.12),
      isLowerSWAtPedX = im.BoolPtr(true),
      isTLights = im.BoolPtr(true),
      isLowerSWAtPedX = im.BoolPtr(true),
      isTLights = im.BoolPtr(true),
      trafficLatOff = im.FloatPtr(-2.6),
      trafficLatOff = im.FloatPtr(-2.6),
      isCrossings = im.BoolPtr(true),
      displayCrossings = im.BoolPtr(false),
      isCrossings = im.BoolPtr(true),
      displayCrossings = im.BoolPtr(false),
      edgeBlendMat = defaultEdgeBlendMaterial,
      edgeBlendMat = defaultEdgeBlendMaterial,
      isArrow = im.BoolPtr(true),
      isDoubleArrows = im.BoolPtr(true),
      isArrow = im.BoolPtr(true),
      isDoubleArrows = im.BoolPtr(true),
      arrowSize = im.FloatPtr(1.5),
  roadX1_I.isJctRoad = true
  profileX1_I.isEdgeBlendL = im.BoolPtr(false)
  profileX1_I.isEdgeBlendR = im.BoolPtr(false)
  profileX1_I.isEdgeBlendL = im.BoolPtr(false)
  profileX1_I.isEdgeBlendR = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
  roadX2_I.isJctRoad = true
  profileX2_I.isEdgeBlendL = im.BoolPtr(false)
  profileX2_I.isEdgeBlendR = im.BoolPtr(false)
  profileX2_I.isEdgeBlendL = im.BoolPtr(false)
  profileX2_I.isEdgeBlendR = im.BoolPtr(false)
  local rIdx = #roadMgr.roads + 1
    extraRadRB = im.FloatPtr(jct.extraRadRB[0]),
    isYOneWay = im.BoolPtr(jct.isYOneWay[0]),
    isY1Outwards = im.BoolPtr(jct.isY1Outwards[0]),
    isYOneWay = im.BoolPtr(jct.isYOneWay[0]),
    isY1Outwards = im.BoolPtr(jct.isY1Outwards[0]),
    isY2Outwards = im.BoolPtr(jct.isY2Outwards[0]),
    isY1Outwards = im.BoolPtr(jct.isY1Outwards[0]),
    isY2Outwards = im.BoolPtr(jct.isY2Outwards[0]),
    s2Length = im.FloatPtr(jct.s2Length[0]),
    hardWidth = im.FloatPtr(jct.hardWidth[0]),
    isBarriersI = im.BoolPtr(jct.isBarriersI[0]),
    isBarriersO = im.BoolPtr(jct.isBarriersO[0]),
    isBarriersI = im.BoolPtr(jct.isBarriersI[0]),
    isBarriersO = im.BoolPtr(jct.isBarriersO[0]),
    isSigns = im.BoolPtr(jct.isSigns[0]),
    isBarriersO = im.BoolPtr(jct.isBarriersO[0]),
    isSigns = im.BoolPtr(jct.isSigns[0]),
    isPedX1 = im.BoolPtr(jct.isPedX1[0]),
    isSigns = im.BoolPtr(jct.isSigns[0]),
    isPedX1 = im.BoolPtr(jct.isPedX1[0]),
    isPedX2 = im.BoolPtr(jct.isPedX2[0]),
    isPedX1 = im.BoolPtr(jct.isPedX1[0]),
    isPedX2 = im.BoolPtr(jct.isPedX2[0]),
    isPedX3 = im.BoolPtr(jct.isPedX3[0]),
    isPedX2 = im.BoolPtr(jct.isPedX2[0]),
    isPedX3 = im.BoolPtr(jct.isPedX3[0]),
    isPedX4 = im.BoolPtr(jct.isPedX4[0]),
    isPedX3 = im.BoolPtr(jct.isPedX3[0]),
    isPedX4 = im.BoolPtr(jct.isPedX4[0]),
    pedXDist = im.FloatPtr(jct.pedXDist[0]),
    pedXWidth = im.FloatPtr(jct.pedXWidth[0]),
    isSidewalk = im.BoolPtr(jct.isSidewalk[0]),
    bevel = im.FloatPtr(jct.bevel[0]),
    sidewalkHeight = im.FloatPtr(jct.sidewalkHeight[0]),
    isLowerSWAtPedX = im.BoolPtr(jct.isLowerSWAtPedX[0]),
    isTLights = im.BoolPtr(jct.isTLights[0]),
    isLowerSWAtPedX = im.BoolPtr(jct.isLowerSWAtPedX[0]),
    isTLights = im.BoolPtr(jct.isTLights[0]),
    trafficLatOff = im.FloatPtr(jct.trafficLatOff[0]),
    trafficLatOff = im.FloatPtr(jct.trafficLatOff[0]),
    isCrossings = im.BoolPtr(true),
    displayCrossings = im.BoolPtr(jct.displayCrossings[0]),
    isCrossings = im.BoolPtr(true),
    displayCrossings = im.BoolPtr(jct.displayCrossings[0]),
    edgeBlendMat = jct.edgeBlendMat or defaultEdgeBlendMaterial,
    edgeBlendMat = jct.edgeBlendMat or defaultEdgeBlendMaterial,
    isArrow = im.BoolPtr(jct.isArrow[0]),
	  isDoubleArrows = im.BoolPtr(jct.isDoubleArrows[0]),
    isArrow = im.BoolPtr(jct.isArrow[0]),
	  isDoubleArrows = im.BoolPtr(jct.isDoubleArrows[0]),
	  arrowSize = im.FloatPtr(jct.arrowSize[0]),
    extraRadRB = im.FloatPtr(jSer.extraRadRB),
    isYOneWay = im.BoolPtr(jSer.isYOneWay or false),
    isY1Outwards = im.BoolPtr(jSer.isY1Outwards or false),
    isYOneWay = im.BoolPtr(jSer.isYOneWay or false),
    isY1Outwards = im.BoolPtr(jSer.isY1Outwards or false),
    isY2Outwards = im.BoolPtr(jSer.isY2Outwards or false),
    isY1Outwards = im.BoolPtr(jSer.isY1Outwards or false),
    isY2Outwards = im.BoolPtr(jSer.isY2Outwards or false),
    s2Length = im.FloatPtr(jSer.s2Length),
    hardWidth = im.FloatPtr(jSer.hardWidth),
    isBarriersI = im.BoolPtr(jSer.isBarriersI or false),
    isBarriersO = im.BoolPtr(jSer.isBarriersO or false),
    isBarriersI = im.BoolPtr(jSer.isBarriersI or false),
    isBarriersO = im.BoolPtr(jSer.isBarriersO or false),
    isSigns = im.BoolPtr(jSer.isSigns or false),
    isBarriersO = im.BoolPtr(jSer.isBarriersO or false),
    isSigns = im.BoolPtr(jSer.isSigns or false),
    isPedX1 = im.BoolPtr(jSer.isPedX1 or false),
    isSigns = im.BoolPtr(jSer.isSigns or false),
    isPedX1 = im.BoolPtr(jSer.isPedX1 or false),
    isPedX2 = im.BoolPtr(jSer.isPedX2 or false),
    isPedX1 = im.BoolPtr(jSer.isPedX1 or false),
    isPedX2 = im.BoolPtr(jSer.isPedX2 or false),
    isPedX3 = im.BoolPtr(jSer.isPedX3 or false),
    isPedX2 = im.BoolPtr(jSer.isPedX2 or false),
    isPedX3 = im.BoolPtr(jSer.isPedX3 or false),
    isPedX4 = im.BoolPtr(jSer.isPedX4 or false),
    isPedX3 = im.BoolPtr(jSer.isPedX3 or false),
    isPedX4 = im.BoolPtr(jSer.isPedX4 or false),
    pedXDist = im.FloatPtr(jSer.pedXDist),
    pedXWidth = im.FloatPtr(jSer.pedXWidth),
    isSidewalk = im.BoolPtr(jSer.isSidewalk or false),
    bevel = im.FloatPtr(jSer.bevel),
    sidewalkHeight = im.FloatPtr(jSer.sidewalkHeight),
    isLowerSWAtPedX = im.BoolPtr(jSer.isLowerSWAtPedX or false),
    isTLights = im.BoolPtr(jSer.isTLights or false),
    isLowerSWAtPedX = im.BoolPtr(jSer.isLowerSWAtPedX or false),
    isTLights = im.BoolPtr(jSer.isTLights or false),
    trafficLatOff = im.FloatPtr(jSer.trafficLatOff),
    trafficLatOff = im.FloatPtr(jSer.trafficLatOff),
    isCrossings = im.BoolPtr(jSer.isCrossings or false),
    displayCrossings = im.BoolPtr(jSer.displayCrossings or false),
    isCrossings = im.BoolPtr(jSer.isCrossings or false),
    displayCrossings = im.BoolPtr(jSer.displayCrossings or false),
    edgeBlendMat = jSer.edgeBlendMat or defaultEdgeBlendMaterial,
    edgeBlendMat = jSer.edgeBlendMat or defaultEdgeBlendMaterial,
    isArrow = im.BoolPtr(jSer.isArrow or false),
	  isDoubleArrows = im.BoolPtr(jSer.isDoubleArrows or false),
    isArrow = im.BoolPtr(jSer.isArrow or false),
	  isDoubleArrows = im.BoolPtr(jSer.isDoubleArrows or false),
	  arrowSize = im.FloatPtr(jSer.arrowSize or 1.5),
    rotateJunctionQuat(jIdx, jCenter, rot)
    jct.isSidewalk = im.BoolPtr(false)
    jct.numLanesX = im.IntPtr(1)
    rotateJunctionQuat(jIdx, jCenter, rot)
    jct.isSidewalk = im.BoolPtr(false)
    jct.numLanesX = im.IntPtr(1)
    width = im.FloatPtr(1), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
    isLeftSide = im.BoolPtr(false), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
    kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
@/lua/ge/extensions/editor/trafficSignalsEditor.lua
local options = {smartName = true, smartObjectSelection = true, showClosestRoad = false}
local windowFlags = {ctrlDefinitions = im.BoolPtr(false)}
local tabFlags = {}

    var = im.BoolPtr(currData.enableFlashingLights)
    if im.Checkbox("Enable Flashing Lights Sequence", var) then

    var = im.BoolPtr(currSequence.startDisabled)
    if im.Checkbox("Start Disabled##sequence", var) then

    var = im.BoolPtr(currSequence._advancedPhases)
    if im.Checkbox("Advanced Phase Start Times##sequence", var) then
    if im.BeginMenu("Preferences") then
      local val = im.BoolPtr(options.smartName)
      if im.Checkbox("Smart Naming", val) then

      val = im.BoolPtr(options.smartObjectSelection)
      if im.Checkbox("Smart Object Selection Mode", val) then

      val = im.BoolPtr(options.showClosestRoad)
      if im.Checkbox("Draw Closest Road Segment", val) then
@/lua/ge/extensions/editor/flowgraph/events.lua
  local hideDuplicates = editor.getPreference("flowgraph.general.hideDuplicateEvents")
  if im.Checkbox('Hide Duplicates', im.BoolPtr(hideDuplicates)) then
    hideDuplicates = not hideDuplicates
  local autoScroll = editor.getPreference("flowgraph.general.eventAutoScroll")
  if im.Checkbox('Auto Scroll', im.BoolPtr(autoScroll)) then
    autoScroll = not autoScroll
@/lua/ge/extensions/gameplay/drift/stuntZones.lua

local drawLines = im.BoolPtr(true)
local benchmarkCount = im.IntPtr(30)
local function onDriftDebugChanged()
  drawLines = im.BoolPtr(true)
end
@/lua/ge/extensions/gameplay/rallyLoop.lua

-- local showLoopToolbox = im.BoolPtr(true)
local showLoopToolbox = im.BoolPtr(false)
-- local showLoopToolbox = im.BoolPtr(true)
local showLoopToolbox = im.BoolPtr(false)
@/lua/ge/extensions/gameplay/drift/stallingSystem.lua
local im = ui_imgui
local manualDebug = im.BoolPtr(false)
@/lua/ge/extensions/editor/raceEditor/startPositions.lua
      im.BeginChild1("self.indexInner", im.ImVec2(0, 0), im.WindowFlags_ChildWindow)
      local editEnded = im.BoolPtr(false)
      editor.uiInputText("Name", nameText, nil, nil, nil, nil, editEnded)
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veView.lua

local renderMain = im.BoolPtr(true)
    lastMouseDragPos = im.ImVec2(0,0),
    attachToObject = im.BoolPtr(data.attachToObject or true),
    editorIconsVisible = im.BoolPtr(data.editorIconsVisible or false),
    attachToObject = im.BoolPtr(data.attachToObject or true),
    editorIconsVisible = im.BoolPtr(data.editorIconsVisible or false),
    ortho = im.BoolPtr(data.ortho or false),
    editorIconsVisible = im.BoolPtr(data.editorIconsVisible or false),
    ortho = im.BoolPtr(data.ortho or false),
    dragOffset = data.dragOffset or vec3(0,0,0),
@/lua/ge/extensions/editor/decalSpline.lua
      -- Component 2 checkbox, material thumbnail, selection button and name.
      local tmpPtr = im.BoolPtr(selSpline.isComponent2)
      if im.Checkbox('###777', tmpPtr) then
      -- Component 3 checkbox, material thumbnail, selection button and name.
      tmpPtr = im.BoolPtr(selSpline.isComponent3)
      if im.Checkbox('###7771', tmpPtr) then
      -- Component 4 checkbox, material thumbnail, selection button and name.
      tmpPtr = im.BoolPtr(selSpline.isComponent4)
      if im.Checkbox('###7772', tmpPtr) then
@/lua/ge/extensions/flowgraph/nodes/input/blacklistAction.lua
        im.BeginChild1(result.id, im.ImVec2(im.GetContentRegionAvailWidth(), 22 * editor.getPreference("ui.general.scale") + 2))
        im.Checkbox("##cba" .. result.id, im.BoolPtr(listKeys[result.id] or false))
        im.SameLine()
          im.BeginChild1(name, im.ImVec2(im.GetContentRegionAvailWidth(), 22 * editor.getPreference("ui.general.scale") + 2))
          local clk = im.Checkbox("##cba" .. name .. "-" .. cat .. "-" .. self.id, im.BoolPtr(listKeys[name] or false))
          im.SameLine()
@/lua/ge/extensions/render/viewDemo.lua

local windowOpen = im.BoolPtr(true)
@/lua/ge/extensions/editor/rallyEditor/drivelineTab.lua
      -- Show raw points checkbox
      local showRawPtr = im.BoolPtr(self.showRawPoints)
      if im.Checkbox("Show Raw Points", showRawPtr) then
    -- Spline view toggle
    local splineViewPtr = im.BoolPtr(self.isSplineView)
    if im.Checkbox("Show Spline", splineViewPtr) then
      -- Show final driveline checkbox
      local showFinalVisualizationPtr = im.BoolPtr(self.showFinalDrivelineVisualization or false)
      if im.Checkbox("Show Final Driveline", showFinalVisualizationPtr) then
@/lua/ge/extensions/flowgraph/nodes/types/setVariable.lua
  local reason = nil
  local global = im.BoolPtr(self.global)
  if im.Checkbox("Use Project as Source##".. self.id, global) then
@/lua/ge/extensions/c2/panelPlugins/tileManager.lua
  if not p_showWindow then
    p_showWindow = im.BoolPtr(debugState.showWindow)
    p_enabled = im.BoolPtr(debugState.enabled)
    p_showWindow = im.BoolPtr(debugState.showWindow)
    p_enabled = im.BoolPtr(debugState.enabled)
    p_drawBorders = im.BoolPtr(debugState.drawBorders)
    p_enabled = im.BoolPtr(debugState.enabled)
    p_drawBorders = im.BoolPtr(debugState.drawBorders)
    p_drawStats = im.BoolPtr(debugState.drawStats)
    p_drawBorders = im.BoolPtr(debugState.drawBorders)
    p_drawStats = im.BoolPtr(debugState.drawStats)
    p_drawObjects = im.BoolPtr(debugState.drawObjects)
    p_drawStats = im.BoolPtr(debugState.drawStats)
    p_drawObjects = im.BoolPtr(debugState.drawObjects)
    p_drawObjectsAdvanced = im.BoolPtr(debugState.drawObjectsAdvanced)
    p_drawObjects = im.BoolPtr(debugState.drawObjects)
    p_drawObjectsAdvanced = im.BoolPtr(debugState.drawObjectsAdvanced)
    p_drawForest = im.BoolPtr(debugState.drawForest)
    p_drawObjectsAdvanced = im.BoolPtr(debugState.drawObjectsAdvanced)
    p_drawForest = im.BoolPtr(debugState.drawForest)
    p_drawDecals = im.BoolPtr(debugState.drawDecals)
    p_drawForest = im.BoolPtr(debugState.drawForest)
    p_drawDecals = im.BoolPtr(debugState.drawDecals)
    p_drawDecalText = im.BoolPtr(debugState.drawDecalText)
    p_drawDecals = im.BoolPtr(debugState.drawDecals)
    p_drawDecalText = im.BoolPtr(debugState.drawDecalText)
    p_drawRoadMarkings = im.BoolPtr(debugState.drawRoadMarkings)
    p_drawDecalText = im.BoolPtr(debugState.drawDecalText)
    p_drawRoadMarkings = im.BoolPtr(debugState.drawRoadMarkings)
    p_drawRoadMarkingNodes = im.BoolPtr(debugState.drawRoadMarkingNodes)
    p_drawRoadMarkings = im.BoolPtr(debugState.drawRoadMarkings)
    p_drawRoadMarkingNodes = im.BoolPtr(debugState.drawRoadMarkingNodes)
    p_drawAIGraph = im.BoolPtr(debugState.drawAIGraph)
    p_drawRoadMarkingNodes = im.BoolPtr(debugState.drawRoadMarkingNodes)
    p_drawAIGraph = im.BoolPtr(debugState.drawAIGraph)
    p_drawAIGraphAdvanced = im.BoolPtr(debugState.drawAIGraphAdvanced)
    p_drawAIGraph = im.BoolPtr(debugState.drawAIGraph)
    p_drawAIGraphAdvanced = im.BoolPtr(debugState.drawAIGraphAdvanced)
    p_drawTileGrid = im.BoolPtr(debugState.drawTileGrid)
    p_drawAIGraphAdvanced = im.BoolPtr(debugState.drawAIGraphAdvanced)
    p_drawTileGrid = im.BoolPtr(debugState.drawTileGrid)
    p_load3x3 = im.BoolPtr(debugState.load3x3)
    p_drawTileGrid = im.BoolPtr(debugState.drawTileGrid)
    p_load3x3 = im.BoolPtr(debugState.load3x3)
    p_tileSize = im.IntPtr(debugState.tileSize)
@/lua/ge/extensions/ui/bindingsLegend.lua

    local forceUnfade = im.BoolPtr(forceUnfadeDebug)
    if im.Checkbox("Force Unfade", forceUnfade) then
      local modifierKey = "modifier" .. i
      local modifierPtr = im.BoolPtr(debugModifierStates[modifierKey])
      if im.Checkbox("Modifier " .. i, modifierPtr) then
@/lua/ge/extensions/career/career.lua
      if mod.drawDebugMenu then
        if imgui.Checkbox(mod.debugName, imgui.BoolPtr(active)) then
          debugSettings[mod.debugName] = not active
@/lua/ge/extensions/core/vehicle/mirror.lua

local windowOpen = im.BoolPtr(false)
local initialWindowSize = im.ImVec2(300, 100)
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veJBeamPicker.lua

local windowOpen = im.BoolPtr(false)

local showGraphs = im.BoolPtr(true)
local nodeDataRendering = {
  {name = "Displacement",     enabled = im.BoolPtr(false),    units = "m",      color = rainbowColor(8, 2, 1),   data = function(id) return vEditor.vehicle:getNodePosition(id):length() end, plotData = {}},
  {name = "Speed",            enabled = im.BoolPtr(true),     units = "m/s",    color = rainbowColor(8, 3, 1),   data = function(id) return vEditor.vehicle:getNodeVelocity(id):length() end, plotData = {}},
  {name = "Displacement",     enabled = im.BoolPtr(false),    units = "m",      color = rainbowColor(8, 2, 1),   data = function(id) return vEditor.vehicle:getNodePosition(id):length() end, plotData = {}},
  {name = "Speed",            enabled = im.BoolPtr(true),     units = "m/s",    color = rainbowColor(8, 3, 1),   data = function(id) return vEditor.vehicle:getNodeVelocity(id):length() end, plotData = {}},
  {name = "Relative Speed",   enabled = im.BoolPtr(false),    units = "m/s",    color = rainbowColor(8, 4, 1),   data = function(id) return (vEditor.vehicle:getVelocity() - vEditor.vehicle:getNodeVelocity(id)):length() end, plotData = {}},
  {name = "Speed",            enabled = im.BoolPtr(true),     units = "m/s",    color = rainbowColor(8, 3, 1),   data = function(id) return vEditor.vehicle:getNodeVelocity(id):length() end, plotData = {}},
  {name = "Relative Speed",   enabled = im.BoolPtr(false),    units = "m/s",    color = rainbowColor(8, 4, 1),   data = function(id) return (vEditor.vehicle:getVelocity() - vEditor.vehicle:getNodeVelocity(id)):length() end, plotData = {}},
  {name = "Force",            enabled = im.BoolPtr(false),    units = "N",      color = rainbowColor(8, 5, 1),   data = function(id) getVELuaNodeData(id, "force", "obj:getNodeForceVector(" .. id .. "):length()") return M.nodeDataFromVELua[id].force end, plotData = {}}
  {name = "Relative Speed",   enabled = im.BoolPtr(false),    units = "m/s",    color = rainbowColor(8, 4, 1),   data = function(id) return (vEditor.vehicle:getVelocity() - vEditor.vehicle:getNodeVelocity(id)):length() end, plotData = {}},
  {name = "Force",            enabled = im.BoolPtr(false),    units = "N",      color = rainbowColor(8, 5, 1),   data = function(id) getVELuaNodeData(id, "force", "obj:getNodeForceVector(" .. id .. "):length()") return M.nodeDataFromVELua[id].force end, plotData = {}}
}
local beamDataRendering = {
  {name = "Length",           enabled = im.BoolPtr(true),     units = "m",      color = rainbowColor(8, 2, 1),   data = function(id) return getBeamLength(id) end, plotData = {}},
  {name = "Speed",            enabled = im.BoolPtr(false),    units = "m/s",    color = rainbowColor(8, 3, 1),   data = function(id) getVELuaBeamData(id, "speed", "obj:getBeamVelocity(" .. id .. ")") return M.beamDataFromVELua[id].speed end, plotData = {}},
  {name = "Length",           enabled = im.BoolPtr(true),     units = "m",      color = rainbowColor(8, 2, 1),   data = function(id) return getBeamLength(id) end, plotData = {}},
  {name = "Speed",            enabled = im.BoolPtr(false),    units = "m/s",    color = rainbowColor(8, 3, 1),   data = function(id) getVELuaBeamData(id, "speed", "obj:getBeamVelocity(" .. id .. ")") return M.beamDataFromVELua[id].speed end, plotData = {}},
  {name = "Force",            enabled = im.BoolPtr(false),    units = "N",      color = rainbowColor(8, 4, 1),   data = function(id) getVELuaBeamData(id, "force", "obj:getBeamForce(" .. id .. ")") return M.beamDataFromVELua[id].force end, plotData = {}},
  {name = "Speed",            enabled = im.BoolPtr(false),    units = "m/s",    color = rainbowColor(8, 3, 1),   data = function(id) getVELuaBeamData(id, "speed", "obj:getBeamVelocity(" .. id .. ")") return M.beamDataFromVELua[id].speed end, plotData = {}},
  {name = "Force",            enabled = im.BoolPtr(false),    units = "N",      color = rainbowColor(8, 4, 1),   data = function(id) getVELuaBeamData(id, "force", "obj:getBeamForce(" .. id .. ")") return M.beamDataFromVELua[id].force end, plotData = {}},
  {name = "Stress",           enabled = im.BoolPtr(false),    units = "N",      color = rainbowColor(8, 5, 1),   data = function(id) getVELuaBeamData(id, "stress", "(select(1,obj:getBeamStressDamp(" .. id .. ")))") return M.beamDataFromVELua[id].stress end, plotData = {}},
  {name = "Force",            enabled = im.BoolPtr(false),    units = "N",      color = rainbowColor(8, 4, 1),   data = function(id) getVELuaBeamData(id, "force", "obj:getBeamForce(" .. id .. ")") return M.beamDataFromVELua[id].force end, plotData = {}},
  {name = "Stress",           enabled = im.BoolPtr(false),    units = "N",      color = rainbowColor(8, 5, 1),   data = function(id) getVELuaBeamData(id, "stress", "(select(1,obj:getBeamStressDamp(" .. id .. ")))") return M.beamDataFromVELua[id].stress end, plotData = {}},
  {name = "Damping",          enabled = im.BoolPtr(false),    units = "N",      color = rainbowColor(8, 6, 1),   data = function(id) getVELuaBeamData(id, "damping", "(select(2,obj:getBeamStressDamp(" .. id .. ")))") return M.beamDataFromVELua[id].damping end, plotData = {}},
  {name = "Stress",           enabled = im.BoolPtr(false),    units = "N",      color = rainbowColor(8, 5, 1),   data = function(id) getVELuaBeamData(id, "stress", "(select(1,obj:getBeamStressDamp(" .. id .. ")))") return M.beamDataFromVELua[id].stress end, plotData = {}},
  {name = "Damping",          enabled = im.BoolPtr(false),    units = "N",      color = rainbowColor(8, 6, 1),   data = function(id) getVELuaBeamData(id, "damping", "(select(2,obj:getBeamStressDamp(" .. id .. ")))") return M.beamDataFromVELua[id].damping end, plotData = {}},
}
  for k,v in pairs(beamTypesNames) do
    beamTypesRendering[k] = im.BoolPtr(true)
    --table.insert(beamTypesRendering, {name = v, enabled = im.BoolPtr(true)})
    beamTypesRendering[k] = im.BoolPtr(true)
    --table.insert(beamTypesRendering, {name = v, enabled = im.BoolPtr(true)})
  end
@/lua/ge/extensions/editor/biomeTool.lua
local editAreaIndex = nil
local renameEditEnded = imgui.BoolPtr(false)
local areaMaterialIndex = 0
local editLayerPaneHeight = 160
local editEnded = imgui.BoolPtr(false)
local input2FloatValue = imgui.ArrayFloat(2)
var.askedToOpenProject = false
var.fieldPlacementBoolPtr = imgui.BoolPtr(0)
var.edgePlacementBoolPtr = imgui.BoolPtr(0)
var.fieldPlacementBoolPtr = imgui.BoolPtr(0)
var.edgePlacementBoolPtr = imgui.BoolPtr(0)
var.randomAreaBoolPtr = imgui.BoolPtr(0)
var.edgePlacementBoolPtr = imgui.BoolPtr(0)
var.randomAreaBoolPtr = imgui.BoolPtr(0)
  imgui.SetNextItemWidth(120)
  local widthEditEnded = imgui.BoolPtr(false)
  local borderFalloffPtr = imgui.FloatPtr(getForestBorderFallOff(layerType, layerID))
  imgui.SameLine()
  local tempBoolPtr = imgui.BoolPtr(true)
local range = imgui.ArrayFloat(2)
local fieldPlacementBoolPtr = imgui.BoolPtr(0)
local function biomeToolCustomFieldEditor(objectIds, fieldValue, fieldName, fieldLabel, fieldDesc, fieldType, fieldTypeName, customData, pasteCallback, contextMenuUI)
    end
    local positionSliderEditEnded = imgui.BoolPtr(false)
    if editor.uiDragFloat2("##" .."SlopeRange"..tostring(customData.areaID)..tostring(customData.layerID),
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veGeneralData.lua

local windowOpen = im.BoolPtr(false)
@/lua/ge/extensions/gameplay/crawl/debug.lua

  local shouldKeepOpen = im.Begin("Crawl Debug Window", im.BoolPtr(debugWindowOpen))
  if not shouldKeepOpen then
@/lua/ge/extensions/editor/tech/roadArchitect/roads.lua

    isVis = im.BoolPtr(true),                                                                       -- A flag which indicates if road will appear in edit visualisation or not.
    isHidden = false,                                                                               -- A flag which indicates if this road is hidden from the user (eg temp roads).

    isOverObject = im.BoolPtr(true),                                                                -- A flag which indicates if the overObjects flag will be set for this road's decals.

    isConformRoadToTerrain = im.BoolPtr(false),                                                     -- Indicates if road should conform to the local terrain (inherit height).
    isDisplayRoadSurface = im.BoolPtr(true),                                                        -- Indicates if the road surface should be visualised (debugDraw)
    isConformRoadToTerrain = im.BoolPtr(false),                                                     -- Indicates if road should conform to the local terrain (inherit height).
    isDisplayRoadSurface = im.BoolPtr(true),                                                        -- Indicates if the road surface should be visualised (debugDraw)
    isDisplayRoadOutline = im.BoolPtr(true),                                                        -- Indicates if the road outline should be visualised (debugDraw).
    isDisplayRoadSurface = im.BoolPtr(true),                                                        -- Indicates if the road surface should be visualised (debugDraw)
    isDisplayRoadOutline = im.BoolPtr(true),                                                        -- Indicates if the road outline should be visualised (debugDraw).
    isDisplayNodeSpheres = im.BoolPtr(true),                                                        -- Indicates if the node spheres should be displayed at nodes (debugDraw).
    isDisplayRoadOutline = im.BoolPtr(true),                                                        -- Indicates if the road outline should be visualised (debugDraw).
    isDisplayNodeSpheres = im.BoolPtr(true),                                                        -- Indicates if the node spheres should be displayed at nodes (debugDraw).
    isDisplayNodeNumbers = im.BoolPtr(false),                                                       -- Indicates if the node number markups should be displayed (debugDraw).
    isDisplayNodeSpheres = im.BoolPtr(true),                                                        -- Indicates if the node spheres should be displayed at nodes (debugDraw).
    isDisplayNodeNumbers = im.BoolPtr(false),                                                       -- Indicates if the node number markups should be displayed (debugDraw).
    isDisplayLaneInfo = im.BoolPtr(true),                                                           -- Indicates if the lane markups should be displayed (debugDraw).
    isDisplayNodeNumbers = im.BoolPtr(false),                                                       -- Indicates if the node number markups should be displayed (debugDraw).
    isDisplayLaneInfo = im.BoolPtr(true),                                                           -- Indicates if the lane markups should be displayed (debugDraw).
    isDisplayRefLine = im.BoolPtr(true),                                                            -- Indicates if the road reference line should be displayed (debugDraw).
    isDisplayLaneInfo = im.BoolPtr(true),                                                           -- Indicates if the lane markups should be displayed (debugDraw).
    isDisplayRefLine = im.BoolPtr(true),                                                            -- Indicates if the road reference line should be displayed (debugDraw).

    isRigidTranslation = im.BoolPtr(false),                                                         -- Indicates if fully-rigid translations are used when moving road nodes.
    forceField = im.FloatPtr(1.0),                                                                  -- The value of the force field (when using non-rigid translation).
    isCivilEngRoads = im.BoolPtr(false),                                                            -- Indicates if this road is using civil engineering style or spline style.

    isAllowTunnels = im.BoolPtr(false),                                                             -- Tunnels: Indicates if auto tunnels are allowed on this road.
    tunnels = {},                                                                                   -- Tunnels: The collection of auto tunnel sections belonging to this road.

  rCopy.isVis = im.BoolPtr(r.isVis[0])
  rCopy.isHidden = r.isHidden

  rCopy.isOverObject = im.BoolPtr(r.isOverObject[0])

  rCopy.isConformRoadToTerrain = im.BoolPtr(r.isConformRoadToTerrain[0])

  rCopy.isDisplayRoadSurface = im.BoolPtr(r.isDisplayRoadSurface[0])
  rCopy.isDisplayRoadOutline = im.BoolPtr(r.isDisplayRoadOutline[0])
  rCopy.isDisplayRoadSurface = im.BoolPtr(r.isDisplayRoadSurface[0])
  rCopy.isDisplayRoadOutline = im.BoolPtr(r.isDisplayRoadOutline[0])
  rCopy.isDisplayNodeSpheres = im.BoolPtr(r.isDisplayNodeSpheres[0])
  rCopy.isDisplayRoadOutline = im.BoolPtr(r.isDisplayRoadOutline[0])
  rCopy.isDisplayNodeSpheres = im.BoolPtr(r.isDisplayNodeSpheres[0])
  rCopy.isDisplayNodeNumbers = im.BoolPtr(r.isDisplayNodeNumbers[0])
  rCopy.isDisplayNodeSpheres = im.BoolPtr(r.isDisplayNodeSpheres[0])
  rCopy.isDisplayNodeNumbers = im.BoolPtr(r.isDisplayNodeNumbers[0])
  rCopy.isDisplayLaneInfo = im.BoolPtr(r.isDisplayLaneInfo[0])
  rCopy.isDisplayNodeNumbers = im.BoolPtr(r.isDisplayNodeNumbers[0])
  rCopy.isDisplayLaneInfo = im.BoolPtr(r.isDisplayLaneInfo[0])
  rCopy.isDisplayRefLine = im.BoolPtr(r.isDisplayRefLine[0])
  rCopy.isDisplayLaneInfo = im.BoolPtr(r.isDisplayLaneInfo[0])
  rCopy.isDisplayRefLine = im.BoolPtr(r.isDisplayRefLine[0])

  rCopy.isRigidTranslation = im.BoolPtr(r.isRigidTranslation[0])
  rCopy.forceField = im.FloatPtr(r.forceField[0])
  rCopy.forceField = im.FloatPtr(r.forceField[0])
  rCopy.isCivilEngRoads = im.BoolPtr(r.isCivilEngRoads[0])

  rCopy.isAllowTunnels = im.BoolPtr(r.isAllowTunnels[0])
  rCopy.tunnels = {}

  roadA.isOverObject = im.BoolPtr(r.isOverObject[0])

  roadA.isConformRoadToTerrain = im.BoolPtr(isConformRoadToTerrain)

  roadA.isDisplayRoadSurface = im.BoolPtr(r.isDisplayRoadSurface[0])
  roadA.isDisplayRoadOutline = im.BoolPtr(r.isDisplayRoadOutline[0])
  roadA.isDisplayRoadSurface = im.BoolPtr(r.isDisplayRoadSurface[0])
  roadA.isDisplayRoadOutline = im.BoolPtr(r.isDisplayRoadOutline[0])
  roadA.isDisplayNodeSpheres = im.BoolPtr(r.isDisplayNodeSpheres[0])
  roadA.isDisplayRoadOutline = im.BoolPtr(r.isDisplayRoadOutline[0])
  roadA.isDisplayNodeSpheres = im.BoolPtr(r.isDisplayNodeSpheres[0])
  roadA.isDisplayNodeNumbers = im.BoolPtr(r.isDisplayNodeNumbers[0])
  roadA.isDisplayNodeSpheres = im.BoolPtr(r.isDisplayNodeSpheres[0])
  roadA.isDisplayNodeNumbers = im.BoolPtr(r.isDisplayNodeNumbers[0])
  roadA.isDisplayLaneInfo = im.BoolPtr(r.isDisplayLaneInfo[0])
  roadA.isDisplayNodeNumbers = im.BoolPtr(r.isDisplayNodeNumbers[0])
  roadA.isDisplayLaneInfo = im.BoolPtr(r.isDisplayLaneInfo[0])
  roadA.isDisplayRefLine = im.BoolPtr(r.isDisplayRefLine[0])
  roadA.isDisplayLaneInfo = im.BoolPtr(r.isDisplayLaneInfo[0])
  roadA.isDisplayRefLine = im.BoolPtr(r.isDisplayRefLine[0])

  roadA.isRigidTranslation = im.BoolPtr(isRigidTranslation)
  roadA.forceField = im.FloatPtr(forceField)
  roadA.forceField = im.FloatPtr(forceField)
  roadA.isCivilEngRoads = im.BoolPtr(isCivilEngRoads)

  roadA.isAllowTunnels = im.BoolPtr(isAllowTunnels)
  roadA.tunnels = {}

  roadB.isOverObject = im.BoolPtr(r.isOverObject[0])

  roadB.isConformRoadToTerrain = im.BoolPtr(isConformRoadToTerrain)

  roadB.isDisplayRoadSurface = im.BoolPtr(r.isDisplayRoadSurface[0])
  roadB.isDisplayRoadOutline = im.BoolPtr(r.isDisplayRoadOutline[0])
  roadB.isDisplayRoadSurface = im.BoolPtr(r.isDisplayRoadSurface[0])
  roadB.isDisplayRoadOutline = im.BoolPtr(r.isDisplayRoadOutline[0])
  roadB.isDisplayNodeSpheres = im.BoolPtr(r.isDisplayNodeSpheres[0])
  roadB.isDisplayRoadOutline = im.BoolPtr(r.isDisplayRoadOutline[0])
  roadB.isDisplayNodeSpheres = im.BoolPtr(r.isDisplayNodeSpheres[0])
  roadB.isDisplayNodeNumbers = im.BoolPtr(r.isDisplayNodeNumbers[0])
  roadB.isDisplayNodeSpheres = im.BoolPtr(r.isDisplayNodeSpheres[0])
  roadB.isDisplayNodeNumbers = im.BoolPtr(r.isDisplayNodeNumbers[0])
  roadB.isDisplayLaneInfo = im.BoolPtr(r.isDisplayLaneInfo[0])
  roadB.isDisplayNodeNumbers = im.BoolPtr(r.isDisplayNodeNumbers[0])
  roadB.isDisplayLaneInfo = im.BoolPtr(r.isDisplayLaneInfo[0])
  roadB.isDisplayRefLine = im.BoolPtr(r.isDisplayRefLine[0])
  roadB.isDisplayLaneInfo = im.BoolPtr(r.isDisplayLaneInfo[0])
  roadB.isDisplayRefLine = im.BoolPtr(r.isDisplayRefLine[0])

  roadB.isRigidTranslation = im.BoolPtr(isRigidTranslation)
  roadB.forceField = im.FloatPtr(forceField)
  roadB.forceField = im.FloatPtr(forceField)
  roadB.isCivilEngRoads = im.BoolPtr(isCivilEngRoads)

  roadB.isAllowTunnels = im.BoolPtr(isAllowTunnels)
  roadB.tunnels = {}
      displayName = im.ArrayChar(32, 'temp'),
      isVis = im.BoolPtr(true),
      isHidden = true,

      isOverObject = im.BoolPtr(true),

      isConformRoadToTerrain = im.BoolPtr(false),

      isDisplayRoadSurface = im.BoolPtr(true),
      isDisplayRoadOutline = im.BoolPtr(true),
      isDisplayRoadSurface = im.BoolPtr(true),
      isDisplayRoadOutline = im.BoolPtr(true),
      isDisplayNodeSpheres = im.BoolPtr(false),
      isDisplayRoadOutline = im.BoolPtr(true),
      isDisplayNodeSpheres = im.BoolPtr(false),
      isDisplayRefLine = im.BoolPtr(true),
      isDisplayNodeSpheres = im.BoolPtr(false),
      isDisplayRefLine = im.BoolPtr(true),
      isDisplayLaneInfo = im.BoolPtr(true),
      isDisplayRefLine = im.BoolPtr(true),
      isDisplayLaneInfo = im.BoolPtr(true),
      isDisplayNodeNumbers = im.BoolPtr(false),
      isDisplayLaneInfo = im.BoolPtr(true),
      isDisplayNodeNumbers = im.BoolPtr(false),

      isRigidTranslation = im.BoolPtr(false),
      forceField = im.FloatPtr(1.0),
      forceField = im.FloatPtr(1.0),
      isCivilEngRoads = im.BoolPtr(false),

      isAllowTunnels = im.BoolPtr(false),
      tunnels = {},
  for _, road in ipairs(roads) do
    road.isConformRoadToTerrain = im.BoolPtr(true)
    setDirty(road)
    if not r.isBridge and not r.isOverlay then
      r.isVis = im.BoolPtr(isShow)
    end
    if r.isBridge then
      r.isVis = im.BoolPtr(isShow)
    end
    if r.isOverlay then
      r.isVis = im.BoolPtr(isShow)
    end
    isDirty = true,
    isVis = im.BoolPtr(rSer.isVis),
    isHidden = rSer.isHidden,

    isOverObject = im.BoolPtr(rSer.isOverObject or false),

    isConformRoadToTerrain = im.BoolPtr(rSer.isConformRoadToTerrain),

    isDisplayRoadSurface = im.BoolPtr(rSer.isDisplayRoadSurface),
    isDisplayRoadOutline = im.BoolPtr(rSer.isDisplayRoadOutline),
    isDisplayRoadSurface = im.BoolPtr(rSer.isDisplayRoadSurface),
    isDisplayRoadOutline = im.BoolPtr(rSer.isDisplayRoadOutline),
    isDisplayNodeSpheres = im.BoolPtr(rSer.isDisplayNodeSpheres),
    isDisplayRoadOutline = im.BoolPtr(rSer.isDisplayRoadOutline),
    isDisplayNodeSpheres = im.BoolPtr(rSer.isDisplayNodeSpheres),
    isDisplayNodeNumbers = im.BoolPtr(rSer.isDisplayNodeNumbers),
    isDisplayNodeSpheres = im.BoolPtr(rSer.isDisplayNodeSpheres),
    isDisplayNodeNumbers = im.BoolPtr(rSer.isDisplayNodeNumbers),
    isDisplayRefLine = im.BoolPtr(rSer.isDisplayRefLine),
    isDisplayNodeNumbers = im.BoolPtr(rSer.isDisplayNodeNumbers),
    isDisplayRefLine = im.BoolPtr(rSer.isDisplayRefLine),

    isDisplayLaneInfo = im.BoolPtr(rSer.isDisplayLaneInfo or false),
    isRigidTranslation = im.BoolPtr(rSer.isRigidTranslation or false),
    isDisplayLaneInfo = im.BoolPtr(rSer.isDisplayLaneInfo or false),
    isRigidTranslation = im.BoolPtr(rSer.isRigidTranslation or false),
    forceField = im.FloatPtr(rSer.forceField or 0.1),
    forceField = im.FloatPtr(rSer.forceField or 0.1),
    isCivilEngRoads = im.BoolPtr(rSer.isCivilEngRoads or false),

    isAllowTunnels = im.BoolPtr(rSer.isAllowTunnels or false),
    tunnels = {},
@/lua/ge/extensions/editor/rallyEditor/notebookInfo.lua

  local editEnded = im.BoolPtr(false)
  editor.uiInputText("Name", notebookNameText, nil, nil, nil, nil, editEnded)

  editEnded = im.BoolPtr(false)
  editor.uiInputText("Authors", notebookAuthorsText, nil, nil, nil, nil, editEnded)

  editEnded = im.BoolPtr(false)
  editor.uiInputText("Description", notebookDescText, nil, nil, nil, nil, editEnded)

  local editEnded = im.BoolPtr(false)
  editor.uiInputText("Name", codriverNameText, nil, nil, nil, nil, editEnded)

  editEnded = im.BoolPtr(false)
  editor.uiInputText("Language", codriverLanguageText, nil, nil, nil, nil, editEnded)

  local editEnded = im.BoolPtr(false)
  editor.uiInputText("Voice ID##codriverVoiceId", codriverVoiceIdText, nil, nil, nil, nil, editEnded)
@/lua/ge/extensions/ui/vehiclePaint.lua
  if showUI == nil then
    showUI = ui_imgui.BoolPtr(false)
  end
@/lua/ge/extensions/editor/missionEditor/startTrigger.lua
  if not self.fields.levelName then self.fields.levelName = im.ArrayChar(1024, self.mission.startTrigger.level) end
  local editEnded = im.BoolPtr(false)
  if editor.uiInputText("##Level", self.fields.levelName, 1024, nil, nil, nil, editEnded) then
  if not self.fields.levelName then self.fields.levelName = im.ArrayChar(1024, self.mission.startTrigger.level) end
  local editEnded = im.BoolPtr(false)
  editor.uiInputText("##Level", self.fields.levelName, 1024, nil, nil, nil, editEnded)
  if not self.fields.levelName then self.fields.levelName = im.ArrayChar(1024, self.mission.startTrigger.level) end
  local editEnded = im.BoolPtr(false)
  editor.uiInputText("##Level", self.fields.levelName, 1024, nil, nil, nil, editEnded)
@/lua/ge/extensions/editor/scriptAIManager.lua
local vehicleChooser = im.IntPtr(0)
local debugDisplay = im.BoolPtr(false)
local fastForward = im.BoolPtr(false)
local debugDisplay = im.BoolPtr(false)
local fastForward = im.BoolPtr(false)
local debugPath = im.BoolPtr(true)
local fastForward = im.BoolPtr(false)
local debugPath = im.BoolPtr(true)

      if loopRecordingBoolPtr[vehId] == nil then loopRecordingBoolPtr[vehId] = im.BoolPtr(true) end
      if displayDebugBoolPtr[vehId] == nil then displayDebugBoolPtr[vehId] = im.BoolPtr(true) end
      if loopRecordingBoolPtr[vehId] == nil then loopRecordingBoolPtr[vehId] = im.BoolPtr(true) end
      if displayDebugBoolPtr[vehId] == nil then displayDebugBoolPtr[vehId] = im.BoolPtr(true) end
      if timeOffsetFloatPtr[vehId] == nil then timeOffsetFloatPtr[vehId] = im.FloatPtr(0) end
@/lua/ge/extensions/editor/rallyEditor/pacenotes.lua

  -- local editEnded = im.BoolPtr(false)
@/lua/ge/extensions/editor/multiSpawnManager.lua

  local edited = im.BoolPtr(false)
  im.PushItemWidth(comboWidth)
  if editor.beginModalWindow(customPaintWindowName, "Custom Paint") then
    local editEnded = im.BoolPtr(false)
    local currPaint = currGroup.data[options.vehIdx][options.colorPickerPaintKey] or {}
  imValues = {}
  imValues.amount, imValues.spawnGap, imValues.shuffle = im.IntPtr(1), im.IntPtr(15), im.BoolPtr(false)
  imValues.collectionAmount, imValues.allMods, imValues.allConfigs = im.IntPtr(10), im.BoolPtr(false), im.BoolPtr(false)
  imValues.amount, imValues.spawnGap, imValues.shuffle = im.IntPtr(1), im.IntPtr(15), im.BoolPtr(false)
  imValues.collectionAmount, imValues.allMods, imValues.allConfigs = im.IntPtr(10), im.BoolPtr(false), im.BoolPtr(false)
  imValues.minPop, imValues.modelPopPower, imValues.configPopPower, imValues.popDecreaseFactor = im.IntPtr(1), im.FloatPtr(0), im.FloatPtr(0), im.FloatPtr(0)
  imValues.amount, imValues.spawnGap, imValues.shuffle = im.IntPtr(1), im.IntPtr(15), im.BoolPtr(false)
  imValues.collectionAmount, imValues.allMods, imValues.allConfigs = im.IntPtr(10), im.BoolPtr(false), im.BoolPtr(false)
  imValues.minPop, imValues.modelPopPower, imValues.configPopPower, imValues.popDecreaseFactor = im.IntPtr(1), im.FloatPtr(0), im.FloatPtr(0), im.FloatPtr(0)
@/lua/ge/extensions/util/vehicleRopeDebug.lua
local selectedRope = nil  -- Selected rope object (contains id property)
local windowOpen = im.BoolPtr(true)  -- Window open state for closable window
  bendStiffness = im.FloatPtr(0.6),
  useXPBD = im.BoolPtr(true),
  useBending = im.BoolPtr(true),
  useXPBD = im.BoolPtr(true),
  useBending = im.BoolPtr(true),
  bendSegmentLength = im.IntPtr(3),
  bendSegmentLength = im.IntPtr(3),
  useWorldCollision = im.BoolPtr(false),
  useSelfCollision = im.BoolPtr(false),
  useWorldCollision = im.BoolPtr(false),
  useSelfCollision = im.BoolPtr(false),
  useStrainLimit = im.BoolPtr(true),
  useSelfCollision = im.BoolPtr(false),
  useStrainLimit = im.BoolPtr(true),
  maxStrainLimit = im.FloatPtr(1.0),
  youngsModulus = im.FloatPtr(1e7),
  renderRope = im.BoolPtr(true),
  debugDraw = im.BoolPtr(true),
  renderRope = im.BoolPtr(true),
  debugDraw = im.BoolPtr(true),
  debugNodes = im.BoolPtr(true),
  debugDraw = im.BoolPtr(true),
  debugNodes = im.BoolPtr(true),
  debugDir = im.BoolPtr(true),
  debugNodes = im.BoolPtr(true),
  debugDir = im.BoolPtr(true),
  debugText = im.BoolPtr(false),
  debugDir = im.BoolPtr(true),
  debugText = im.BoolPtr(false),
  debugMass = im.BoolPtr(false),
  debugText = im.BoolPtr(false),
  debugMass = im.BoolPtr(false),
  windScale = im.FloatPtr(1.0),
  c3 = im.FloatPtr(0.0),
  anchorAFixed = im.BoolPtr(true),
  anchorBFixed = im.BoolPtr(true),
  anchorAFixed = im.BoolPtr(true),
  anchorBFixed = im.BoolPtr(true),
  simFPS = im.IntPtr(60)
@/lua/ge/extensions/editor/driftDataEditor.lua
local newDriftSpotId = im.ArrayChar(128, "")
local rawData = im.BoolPtr(false)
@/lua/ge/extensions/editor/sitesEditor/parkingSpots.lua
  -- multiSpot data
  self.isMultiSpot = im.BoolPtr(false)
  self.multiSpotData = { spotAmount = im.IntPtr(1), spotOffset = im.FloatPtr(0), spotDirection = "Left", spotRotation = im.FloatPtr(0) }
@/lua/ge/extensions/flowgraph/nodes/gameplay/traffic/trafficCustomGroup.lua
  if self.mode == 'settings' then
    local var = im.BoolPtr(self.params.auto)
    if im.Checkbox('Use Game Options Only##groupGenerator', var) then
    end
    var = im.BoolPtr(self.params.allMods)
    if im.Checkbox('Allow Mods##groupGenerator', var) then
    end
    var = im.BoolPtr(self.params.allConfigs)
    if im.Checkbox('Use All Configs##groupGenerator', var) then
    end
    var = im.BoolPtr(self.params.simpleVehs)
    if im.Checkbox('Use Simple Vehicles##groupGenerator', var) then
@/lua/ge/extensions/editor/fileDialog.lua
local tempTextureObj = nil
local tempBoolPtr = im.BoolPtr(false)
local tempIntPtr = im.IntPtr(0)
@/lua/ge/extensions/editor/resourceChecker.lua
    im.SameLine()
    local skipCommonEnabled = im.BoolPtr(skipCommon)
    if im.Checkbox("Skip common folders", skipCommonEnabled) then
@/lua/ge/extensions/flowgraph/nodes/gameplay/removeOtherVehicles.lua
  im.NextColumn()
  ptr = im.BoolPtr(self.onlyDrivableVehs)
  if im.Checkbox('##onlyDrivableVehs'..self.id, ptr) then
  im.NextColumn()
  ptr = im.BoolPtr(self.onlyFlowgraphVehs)
  if im.Checkbox('##onlyFlowgraphVehs'..self.id, ptr) then
@/lua/ge/extensions/editor/missionEditor/conditions.lua
  end
  local editEnded = im.BoolPtr(false)
  im.SameLine()
  index = index + 1
  local editEnded = im.BoolPtr(false)
  im.SameLine()
  if not self.fields[val] then self.fields[val] = im.FloatPtr(condition.value) end
  local editEnded = im.BoolPtr(false)
  im.SameLine()
  if not self.fields[val] then self.fields[val] = im.FloatPtr(condition.value) end
  local editEnded = im.BoolPtr(false)
  editor.uiInputText("##"..'numericName'..index..self.name, self.fields[name], 1024, nil, nil, nil, editEnded)
  if not self.fields[name] then self.fields[name] = im.ArrayChar(1024, condition.value) end
  local editEnded = im.BoolPtr(false)
  editor.uiInputText("##"..'ManuFacName'..index..self.name, self.fields[name], 1024, nil, nil, nil, editEnded)
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veAeroDebug.lua
local wndName = "Vehicle Aero Debug"
local windowOpen = im.BoolPtr(false)
@/lua/ge/extensions/editor/missionPlaybook.lua
        local toggle = false
        if im.Checkbox(key.."##StarKey"..sIdx, im.BoolPtr(e.stars[key] or false)) then
          toggle = true
  im.SameLine()
  if im.Checkbox("Condensed", im.BoolPtr(condensed)) then
    condensed = not condensed
@/lua/ge/extensions/editor/sitesEditor/zones.lua

  local snapActive = im.BoolPtr(snapToTerrain)
  if im.Checkbox("Snap To Terrain", snapActive) then

  local topActive = im.BoolPtr(self.current.top.active)
  if im.Checkbox("Top Plane", topActive) then
  end
  local botActive = im.BoolPtr(self.current.bot.active)
  if im.Checkbox("Bot Plane", botActive) then
@/lua/ge/extensions/editor/raceEditor/pathnodes.lua
      im.BeginChild1("self.indexInner", im.ImVec2(0, 0), im.WindowFlags_ChildWindow)
      local editEnded = im.BoolPtr(false)
      editor.uiInputText("Name", nameText, nil, nil, nil, nil, editEnded)
      end
      local useNormal = im.BoolPtr(node.hasNormal)
      if im.Checkbox("Use Normal", useNormal) then

      local visible = im.BoolPtr(node.visible)
      if im.Checkbox("Visible Marker", visible) then

      local useAsSplit = im.BoolPtr(node.useAsSplit or false)
      if im.Checkbox("Use as Split", useAsSplit) then
      if not self.fields[name] then self.fields[name] = im.ArrayChar(4096, fields.values[name]) end
      local editEnded = im.BoolPtr(false)
      editor.uiInputText(name, self.fields[name], nil, nil, nil, nil, editEnded)

      local editEnded = im.BoolPtr(false)
      editor.uiInputFloat(name, self.fields[name], nil, nil, nil, nil, editEnded)
      end
      local editEnded = im.BoolPtr(false)
      editor.uiInputFloat3(name, self.fields[name], nil, nil, editEnded)
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/vePowerTrain.lua
local im = ui_imgui
local windowOpen = im.BoolPtr(false)
local initialWindowSize = im.ImVec2(800, 800)
@/lua/ge/extensions/editor/extensionsDebug.lua
local toolWindowName = "extensionsDebug"
local funCheck = im.BoolPtr(false)
local numCheck = im.BoolPtr(false)
local funCheck = im.BoolPtr(false)
local numCheck = im.BoolPtr(false)
local strCheck = im.BoolPtr(false)
local numCheck = im.BoolPtr(false)
local strCheck = im.BoolPtr(false)
local cdataCheck = im.BoolPtr(false)
local strCheck = im.BoolPtr(false)
local cdataCheck = im.BoolPtr(false)
local boolCheck = im.BoolPtr(false)
local cdataCheck = im.BoolPtr(false)
local boolCheck = im.BoolPtr(false)
local tblCheck = im.BoolPtr(false)
local boolCheck = im.BoolPtr(false)
local tblCheck = im.BoolPtr(false)
local filter = im.BoolPtr(false)
local tblCheck = im.BoolPtr(false)
local filter = im.BoolPtr(false)
@/lua/ge/extensions/editor/materialEditor.lua
local tempUndoValue = nil
local tempBoolPtr = im.BoolPtr(true)
@/lua/ge/extensions/render/openxr.lua
local im = ui_imgui
local debugWindowOpen = im.BoolPtr(false)
local debugWindowSize = im.ImVec2(0, 0)
  M.openXRimguiEnabled   = settings.getValue("openXRimguiEnabled")
  M.openXRuiEnabled      = im.BoolPtr(settings.getValue("openXRuiEnabled"))
  M.openXRuiMode         = im.IntPtr(settings.getValue("openXRuiMode"))
  M.openXRwindowViewMode = im.IntPtr(settings.getValue("openXRwindowViewMode"))
  M.openXRdebugEnabled   = im.BoolPtr(settings.getValue("openXRdebugEnabled"))
  M.openXRquadCompositionEnabled   = im.BoolPtr(settings.getValue("openXRquadCompositionEnabled") or false)
  M.openXRdebugEnabled   = im.BoolPtr(settings.getValue("openXRdebugEnabled"))
  M.openXRquadCompositionEnabled   = im.BoolPtr(settings.getValue("openXRquadCompositionEnabled") or false)
@/lua/ge/extensions/editor/assetManagementTool.lua
local searchFilter = imgui.ImGuiTextFilter()
local selectRecordBoolPtr = imgui.BoolPtr(false)
local recursiveDuplicateSearchPtr = imgui.BoolPtr(true)
local selectRecordBoolPtr = imgui.BoolPtr(false)
local recursiveDuplicateSearchPtr = imgui.BoolPtr(true)
local recursiveNamingSearchPtr = imgui.BoolPtr(true)
local recursiveDuplicateSearchPtr = imgui.BoolPtr(true)
local recursiveNamingSearchPtr = imgui.BoolPtr(true)
local skipUnnamedTargetPathsPtr = imgui.BoolPtr(true)
local recursiveNamingSearchPtr = imgui.BoolPtr(true)
local skipUnnamedTargetPathsPtr = imgui.BoolPtr(true)
local visibleRecordCount = 0
@/lua/ge/extensions/core/ropeVisualTest.lua
  bendStiffness = im.FloatPtr(0.6),
  useXPBD = im.BoolPtr(true),
  useBending = im.BoolPtr(true),
  useXPBD = im.BoolPtr(true),
  useBending = im.BoolPtr(true),
  bendSegmentLength = im.IntPtr(3),
  bendSegmentLength = im.IntPtr(3),
  useWorldCollision = im.BoolPtr(false),
  useSelfCollision = im.BoolPtr(false),
  useWorldCollision = im.BoolPtr(false),
  useSelfCollision = im.BoolPtr(false),
  useStrainLimit = im.BoolPtr(true),
  useSelfCollision = im.BoolPtr(false),
  useStrainLimit = im.BoolPtr(true),
  maxStrainLimit = im.FloatPtr(1.0),
  youngsModulus = im.FloatPtr(1e7),
  renderRope = im.BoolPtr(true),
  debugDraw = im.BoolPtr(true),
  renderRope = im.BoolPtr(true),
  debugDraw = im.BoolPtr(true),
  debugNodes = im.BoolPtr(true),
  debugDraw = im.BoolPtr(true),
  debugNodes = im.BoolPtr(true),
  debugDir = im.BoolPtr(true),
  debugNodes = im.BoolPtr(true),
  debugDir = im.BoolPtr(true),
  debugText = im.BoolPtr(false),
  debugDir = im.BoolPtr(true),
  debugText = im.BoolPtr(false),
  debugMass = im.BoolPtr(false),
  debugText = im.BoolPtr(false),
  debugMass = im.BoolPtr(false),
  windScale = im.FloatPtr(1.0),
  c3 = im.FloatPtr(0.0),
  anchorAFixed = im.BoolPtr(true),
  anchorBFixed = im.BoolPtr(true),
  anchorAFixed = im.BoolPtr(true),
  anchorBFixed = im.BoolPtr(true),
  animationScale = im.FloatPtr(1.0),
@/lua/ge/extensions/editor/missionEditor/objectives.lua
  self.tabName = "Objectives"
  self.rawCheckbox = im.BoolPtr(false)

  self.showInCareerCheckbox = im.BoolPtr(false)
  self.showInFreeroamCheckbox = im.BoolPtr(false)
  self.showInCareerCheckbox = im.BoolPtr(false)
  self.showInFreeroamCheckbox = im.BoolPtr(false)

local editEnded = im.BoolPtr(false)
function C:drawAttributeInput(re, idx, key)
    local toggle = false
    if im.Checkbox(key.."##StarKey"..i, im.BoolPtr(self.mission.careerSetup.starsActive[key] or false)) then
      toggle = true
@/lua/ge/extensions/gameplay/rally.lua
local debugLogging = false
local showRallyToolbox = im.BoolPtr(false)
@/lua/ge/extensions/util/maptiles.lua

local windowOpen = im.BoolPtr(false)
local show3DWorld = im.BoolPtr(false)
local windowOpen = im.BoolPtr(false)
local show3DWorld = im.BoolPtr(false)
local showDebugPanel = im.BoolPtr(false)
local show3DWorld = im.BoolPtr(false)
local showDebugPanel = im.BoolPtr(false)
local runGenerator = im.BoolPtr(true)
local showDebugPanel = im.BoolPtr(false)
local runGenerator = im.BoolPtr(true)
local draw3DDebug = im.BoolPtr(false)
local runGenerator = im.BoolPtr(true)
local draw3DDebug = im.BoolPtr(false)
local initialWindowSize = im.ImVec2(500, 500)
@/lua/ge/suspensionFrequencyTester.lua
local imgui = ui_imgui
local windowOpen = imgui.BoolPtr(true)
local nodeFrontPtr = imgui.IntPtr(nodeFrontAxle)
@/lua/ge/extensions/flowgraph/nodes/ui/imgui/imVehicleSelect.lua
  im.SetNextWindowSize(im.ImVec2(480, 300))
  im.Begin("Vehicle Select##"..self.id, im.BoolPtr(true))
@/lua/ge/extensions/editor/vehicleEditor/staticEditor/veJBeamSpellchecker.lua

local windowOpen = im.BoolPtr(false)
@/lua/ge/extensions/editor/slotTrafficEditor.lua
    local node = mapNodes[nid]
    local editEnded = im.BoolPtr(false)
    local linkData = mapNodes[selectedLink.nid1].links[selectedLink.nid2]
    local editEnded = im.BoolPtr(false)
@/lua/ge/extensions/gameplay/missions/missionTypes/editorHelper.lua
  defaultValue = defaultValue or false
  local elem = self:addElement({type = 'bool', label = label, fieldName = fieldName, defaultValue = defaultValue, ptr = im.BoolPtr(defaultValue) , displayOptions = displayOptions})

  editEnded = im.BoolPtr(false)
  for index, element in ipairs(self.elements) do
@/lua/ge/extensions/editor/flowgraph/garbageDebug.lua
  local debugEnabled = editor.getPreference("flowgraph.debug.debugGarbage") or false
  if im.Checkbox('Debug Garbage', im.BoolPtr(debugEnabled)) then
    debugEnabled = not debugEnabled
@/lua/ge/extensions/editor/flowgraph/variables.lua

      if im.Checkbox("Create Another", im.BoolPtr(self.addVariableSettings.addAnother or false)) then
        self.addVariableSettings.addAnother = not (self.addVariableSettings.addAnother or false)
@/lua/ge/extensions/flowgraph/nodes/types/getVariable.lua
  local reason = nil
  local global = im.BoolPtr(self.global)
  if im.Checkbox("Use Project as Source##".. self.id, global) then
@/lua/ge/extensions/editor/crawlEditor/paths.lua
local lastPath = nil
local editEnded = im.BoolPtr(false)
    im.Text("Name")
    local nameEditEnded = im.BoolPtr(false)
    editor.uiInputText("##NodeName", pathnodeName, nil, nil, nil, nil, nameEditEnded)

    local posEditEnded = im.BoolPtr(false)
    editor.uiInputFloat3("Position", pos, nil, nil, posEditEnded)

    local rotEditEnded = im.BoolPtr(false)
    editor.uiInputFloat4("Rotation (x y z w)", rot, nil, nil, rotEditEnded)
      local radiusPtr = im.FloatPtr(self.currentPathnode.radius or 6.0)
      local radiusEditEnded = im.BoolPtr(false)
      editor.uiInputFloat("Radius", radiusPtr, nil, nil, nil, nil, radiusEditEnded)
    im.Text("Recovery Checkpoint")
    local isRecoveryCheckpoint = im.BoolPtr(self.currentPathnode.flags.isRecoveryCheckpoint or false)
    if im.Checkbox("Is Recovery Checkpoint", isRecoveryCheckpoint) then
    im.Text("Bonus Checkpoint")
    local isBonusCheckpoint = im.BoolPtr(self.currentPathnode.flags.isBonusCheckpoint or false)
    if im.Checkbox("Is Bonus Checkpoint", isBonusCheckpoint) then
    local flagsBuf = im.ArrayChar(512, flagsStr)
    local flagsEditEnded = im.BoolPtr(false)
    editor.uiInputText("Flags (json)", flagsBuf, nil, nil, nil, nil, flagsEditEnded)
@/lua/ge/extensions/editor/flowgraph/legend.lua
  self.items = {
    {name = "A", id = 1, open = im.BoolPtr(true)},
    {name = "B", id = 10, open = im.BoolPtr(true)},
    {name = "A", id = 1, open = im.BoolPtr(true)},
    {name = "B", id = 10, open = im.BoolPtr(true)},
    {name = "C", id = 5, open = im.BoolPtr(true)},
    {name = "B", id = 10, open = im.BoolPtr(true)},
    {name = "C", id = 5, open = im.BoolPtr(true)},
    {name = "D", id = 3, open = im.BoolPtr(true)},
    {name = "C", id = 5, open = im.BoolPtr(true)},
    {name = "D", id = 3, open = im.BoolPtr(true)},
  }
@/lua/ge/extensions/editor/raceEditor/tools.lua
local nodeSize = im.FloatPtr(5)
local previewEnabled = im.BoolPtr(false)

  local editEnded = im.BoolPtr(false)
  im.Text("Left/Right object:")
@/lua/common/extensions/ui/improfiler.lua
local im = ui_imgui
local windowOpen = im.BoolPtr(true)
@/lua/ge/extensions/editor/cosimulationSignalEditor.lua
-- ImGui Pointer Variables
local isKinematics, isDriver, isWheels, isVSL, isCosim = im.BoolPtr(true), im.BoolPtr(true), im.BoolPtr(true), im.BoolPtr(false), im.BoolPtr(false)
-- These are pointers (`im.BoolPtr`) that ImGui uses to modify the values by reference, useful for checkbox or UI elements.
-- ImGui Pointer Variables
local isKinematics, isDriver, isWheels, isVSL, isCosim = im.BoolPtr(true), im.BoolPtr(true), im.BoolPtr(true), im.BoolPtr(false), im.BoolPtr(false)
-- These are pointers (`im.BoolPtr`) that ImGui uses to modify the values by reference, useful for checkbox or UI elements.
-- ImGui Pointer Variables
local isKinematics, isDriver, isWheels, isVSL, isCosim = im.BoolPtr(true), im.BoolPtr(true), im.BoolPtr(true), im.BoolPtr(false), im.BoolPtr(false)
-- These are pointers (`im.BoolPtr`) that ImGui uses to modify the values by reference, useful for checkbox or UI elements.
-- ImGui Pointer Variables
local isKinematics, isDriver, isWheels, isVSL, isCosim = im.BoolPtr(true), im.BoolPtr(true), im.BoolPtr(true), im.BoolPtr(false), im.BoolPtr(false)
-- These are pointers (`im.BoolPtr`) that ImGui uses to modify the values by reference, useful for checkbox or UI elements.
-- ImGui Pointer Variables
local isKinematics, isDriver, isWheels, isVSL, isCosim = im.BoolPtr(true), im.BoolPtr(true), im.BoolPtr(true), im.BoolPtr(false), im.BoolPtr(false)
-- These are pointers (`im.BoolPtr`) that ImGui uses to modify the values by reference, useful for checkbox or UI elements.

local isElectrics, isPowertrain, isSensors = im.BoolPtr(true), im.BoolPtr(true), im.BoolPtr(true)
local isPose = im.BoolPtr(false)                                                                    -- A flag which indicates whether to store the vehicle pose, or not.

local isElectrics, isPowertrain, isSensors = im.BoolPtr(true), im.BoolPtr(true), im.BoolPtr(true)
local isPose = im.BoolPtr(false)                                                                    -- A flag which indicates whether to store the vehicle pose, or not.

local isElectrics, isPowertrain, isSensors = im.BoolPtr(true), im.BoolPtr(true), im.BoolPtr(true)
local isPose = im.BoolPtr(false)                                                                    -- A flag which indicates whether to store the vehicle pose, or not.
local isElectrics, isPowertrain, isSensors = im.BoolPtr(true), im.BoolPtr(true), im.BoolPtr(true)
local isPose = im.BoolPtr(false)                                                                    -- A flag which indicates whether to store the vehicle pose, or not.
      -- If the vehicle pose was provided in the .csv, set the flag and teleport the vehicle to the given pose.
      isPose = im.BoolPtr(false)
      if posX then
      if posX then
        isPose = im.BoolPtr(true)
        spawn.safeTeleport(vehicle.veh, vec3(posX, posY, posZ), quat(rotX, rotY, rotZ, rotW))
        else
          isKinematics = im.BoolPtr(true)
        end
        else
          isDriver = im.BoolPtr(true)
        end
        else
          isWheels = im.BoolPtr(true)
        end
        else
          isElectrics = im.BoolPtr(true)
        end
        else
          isPowertrain = im.BoolPtr(true)
        end
        else
          isSensors = im.BoolPtr(true)
        end
@/lua/ge/extensions/editor/dragRaceEditor/dragSettings.lua
  im.SameLine()
  local canBeReseted = im.BoolPtr(dragSettings.canBeReseted or false)
  if im.Checkbox("##canBeReseted", canBeReseted) then
  im.SameLine()
  local canBeTeleported = im.BoolPtr(dragSettings.canBeTeleported or false)
  if im.Checkbox("##canBeTeleported", canBeTeleported) then
    -- Dependency
    local dependency = im.BoolPtr(phase.dependency or false)
    if im.Checkbox("Dependency", dependency) then
  im.SameLine()
  local christmasTreeUsed = im.BoolPtr(dragSettings.prefabs.christmasTree.isUsed or false)
  if im.Checkbox("Enabled##christmasTree", christmasTreeUsed) then
  im.SameLine()
  local displaySignUsed = im.BoolPtr(dragSettings.prefabs.displaySign.isUsed or false)
  if im.Checkbox("Enabled##displaySign", displaySignUsed) then
  im.SameLine()
  local pathsUsed = im.BoolPtr(dragSettings.prefabs.paths.isUsed or false)
  if im.Checkbox("Enabled##paths", pathsUsed) then
  im.SameLine()
  local decorationsUsed = im.BoolPtr(dragSettings.prefabs.decorations.isUsed or false)
  if im.Checkbox("Enabled##decorations", decorationsUsed) then
  im.SameLine()
  local canBeReseted = im.BoolPtr(dragSettings.canBeReseted or false)
  if im.Checkbox("##canBeReseted", canBeReseted) then
  im.SameLine()
  local canBeTeleported = im.BoolPtr(dragSettings.canBeTeleported or false)
  if im.Checkbox("##canBeTeleported", canBeTeleported) then
    im.SameLine()
    local boolptr = im.BoolPtr(dragSettings.prefabs[prefabType].isUsed or false)
    if im.Checkbox("##isUsed_" .. label, boolptr) then
    im.SameLine()
    local dependency = im.BoolPtr(p.dependency)
    if im.Checkbox("Dependencies##" .. i, dependency) then
@/lua/ge/extensions/editor/bulkRename.lua
local whatSetPtr = imgui.IntPtr(0)
local useGeneratedNamePtr = imgui.BoolPtr(1)
local foundCount = 0
@/lua/ge/extensions/editor/util/vehicleFilterUtil.lua
  im.Text("Vehicle Eligibility:")
  local auxVehPtr = im.BoolPtr(e.allowAuxiliaryVehicles)
  if im.Checkbox("Allow Auxiliary Vehicles##"..e._id.."allowAux", auxVehPtr) then
  im.SameLine()
  local trailerPtr = im.BoolPtr(e.allowLoadedTrailers)
  if im.Checkbox("Allow Loaded Trailers##"..e._id.."allowTrailers", trailerPtr) then
            local selected = filter.values[option] or false
            local selectedPtr = im.BoolPtr(selected)
            if im.Checkbox(option.."##option", selectedPtr) then
            local selected = filter.values[option] or false
            local selectedPtr = im.BoolPtr(selected)
            if im.Checkbox(option.."##option", selectedPtr) then
              local selected = filter.values[option] or false
              local selectedPtr = im.BoolPtr(selected)
              if im.Checkbox(option.."##option", selectedPtr) then
              local selected = filter.values[option] or false
              local selectedPtr = im.BoolPtr(selected)
              if im.Checkbox(option.."##option", selectedPtr) then
@/lua/ge/extensions/util/groundModelDebug.lua

local windowOpen = im.BoolPtr(false)
local groundModels = {}
local groundDebug = im.BoolPtr(false)
local staticDebug = im.BoolPtr(false)
local groundDebug = im.BoolPtr(false)
local staticDebug = im.BoolPtr(false)
local debugtype = -1
-- Collision density related variables
local colDensityEnabled = im.BoolPtr(false)
local colDensityShowText = im.BoolPtr(true)
local colDensityEnabled = im.BoolPtr(false)
local colDensityShowText = im.BoolPtr(true)
local colDensityThreshold = im.FloatPtr(25)

local depthDebug = im.BoolPtr(false)
local mouseFocus = im.BoolPtr(true)
local depthDebug = im.BoolPtr(false)
local mouseFocus = im.BoolPtr(true)
local distance = im.FloatPtr(20)
    local v = core_environment.groundModels[k]
    groundModels[k] = {data = v.cdata, isAlias = v.isAlias, parent = v.parent, aliases = {}, active = im.BoolPtr(true), color = im.ArrayFloatByTbl(rainbowColor(groundModelSize, i, 1))}
    groundModels[k].cdata = {}
    groundModels[k].cdata.shearStrength = im.FloatPtr(v.cdata.shearStrength)
    groundModels[k].cdata.skidMarks = im.BoolPtr(v.cdata.skidMarks)
    groundModels[k].cdata.slidingFrictionCoefficient = im.FloatPtr(v.cdata.slidingFrictionCoefficient)
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veTCSDebug.lua

local windowOpen = im.BoolPtr(false)
@/lua/ge/extensions/career/modules/partInventory.lua
  imgui.SetNextWindowSize(imgui.ImVec2(300, 300), imgui.Cond_FirstUseEver)
  local partInventoryOpenPtr = imgui.BoolPtr(true)
  imgui.Begin("Part Inventory", partInventoryOpenPtr)
@/lua/ge/extensions/editor/meshEditor.lua

local positionSliderEditEnded = im.BoolPtr(false)
local widthSliderEditEnded = im.BoolPtr(false)
local positionSliderEditEnded = im.BoolPtr(false)
local widthSliderEditEnded = im.BoolPtr(false)
local depthSliderEditEnded = im.BoolPtr(false)
local widthSliderEditEnded = im.BoolPtr(false)
local depthSliderEditEnded = im.BoolPtr(false)
local heightSliderEditEnded = im.BoolPtr(false)
local depthSliderEditEnded = im.BoolPtr(false)
local heightSliderEditEnded = im.BoolPtr(false)
@/lua/ge/extensions/ui/apps/minimap/minimap.lua
        else
          if im.Checkbox(key, im.BoolPtr(debugSettings[key])) then
            debugSettings[key] = not debugSettings[key]
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veFlexbodyDebug.lua

local windowOpen = im.BoolPtr(false)
local verticesOOBCoordsWindowName = "Vertices Out of Bounds Coords"
local showVerticesOBBCoordsWindow = im.BoolPtr(false)
local verticesLackingNodesWindowName = "Vertices Lacking Nearby Nodes"
local showVerticesLackingNodesWindow = im.BoolPtr(false)
@/lua/ge/extensions/editor/rallyEditor/recceTab.lua

  if im.Checkbox("Show Labels (click to copy)", im.BoolPtr(self.drawLabels)) then
    self.drawLabels = not self.drawLabels
@/lua/ge/extensions/editor/meshSpline.lua

          local tmpPtr = im.BoolPtr(selSpline.isAlias1)
          if im.Checkbox("###87651", tmpPtr) then

          tmpPtr = im.BoolPtr(selSpline.isAlias2)
          if im.Checkbox("###87652", tmpPtr) then

          tmpPtr = im.BoolPtr(selSpline.isAlias3)
          if im.Checkbox("###87653", tmpPtr) then

          tmpPtr = im.BoolPtr(selSpline.isStartCap)
          if im.Checkbox("###8765", tmpPtr) then

          tmpPtr = im.BoolPtr(selSpline.isEndCap)
          if im.Checkbox("###8766", tmpPtr) then
@/lua/ge/extensions/editor/visualization.lua
      for _, type in ipairs(editor.getVisualizationTypes()) do
        local active = im.BoolPtr(editor.getVisualizationType(type.name))
        if displayType(type, true) then
      for _, name in ipairs(classes) do
        local visible = im.BoolPtr(editor.getObjectTypeVisible(name))
        if displayType(name) then
      for _, name in ipairs(classes) do
        local selectable = im.BoolPtr(editor.getObjectTypeSelectable(name))
        if displayType(name) then
  for _, name in ipairs(classes) do
    local visible = im.BoolPtr(editor.getObjectTypeVisible(name))
    local selectable = im.BoolPtr(editor.getObjectTypeSelectable(name))
    local visible = im.BoolPtr(editor.getObjectTypeVisible(name))
    local selectable = im.BoolPtr(editor.getObjectTypeSelectable(name))
    var.visibleTypesDefault[name] = visible
@/lua/ge/extensions/flowgraph/nodes/types/string.lua
  self.imText = self.imText or im.ArrayChar(2048, self.string)
  local ml = im.BoolPtr(self.multiLine)
  if im.Checkbox("Multi Line", ml) then
@/lua/ge/extensions/editor/vehicleEditor/staticEditor/veStaticRenderView.lua
      gridRot = mainRVData.gridRot and quat(mainRVData.gridRot) or quatFromAxisAngle(vec3(1,0,0), math.rad(90)),
      ortho = im.BoolPtr(mainRVData.ortho or false),
      imagePos = im.ImVec2(0,0),
@/lua/ge/extensions/editor/missionEditor/prefabs.lua
  self.missionEditor = missionEditor
  self.prefabsRequireCollisionReload = im.BoolPtr(false)
  self.filenames = {}
  self.mission = mission
  self.prefabsRequireCollisionReload = im.BoolPtr(mission.prefabsRequireCollisionReload or false)
  table.clear(self.filenames)
  local rem = nil
  local editEnded = im.BoolPtr(false)
  for i, prefab in ipairs(self.filenames) do
@/lua/ge/extensions/editor/flowgraphEditor.lua

M.showSmallFgWindow = im.BoolPtr(false)
M.switchToSmallWindow = false
    --TODO: convert to beginWindow/endWindow
    local opn = im.BoolPtr(true)
    if im.Begin("Flowgraph Editor##NoProject", opn, im.flags(im.WindowFlags_MenuBar)) then

  --M.executionOpenOnly = im.BoolPtr(M.res and M.res.executionOpenOnly or false)
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veCrashTester.lua

local windowOpen = im.BoolPtr(false)
@/lua/ge/extensions/editor/vehicleEditor/staticEditor/veJBeamBeautifier.lua

local windowOpen = im.BoolPtr(false)
local sectionsToBeautifyTblPtr = {
  {'beams', im.BoolPtr(false)},
  {'nodes', im.BoolPtr(true)},
  {'beams', im.BoolPtr(false)},
  {'nodes', im.BoolPtr(true)},
  {'quads', im.BoolPtr(false)},
  {'nodes', im.BoolPtr(true)},
  {'quads', im.BoolPtr(false)},
  {'slots', im.BoolPtr(false)},
  {'quads', im.BoolPtr(false)},
  {'slots', im.BoolPtr(false)},
  {'slots2', im.BoolPtr(false)},
  {'slots', im.BoolPtr(false)},
  {'slots2', im.BoolPtr(false)},
  {'triangles', im.BoolPtr(true)},
  {'slots2', im.BoolPtr(false)},
  {'triangles', im.BoolPtr(true)},
}

local alignHeaderEnabledPtr = im.BoolPtr(true)
local roundingEnabledPtr = im.BoolPtr(false)
local alignHeaderEnabledPtr = im.BoolPtr(true)
local roundingEnabledPtr = im.BoolPtr(false)
local decimalPlacesPtr = im.IntPtr(3)
@/lua/ge/extensions/editor/roadArchitect.lua
local savePath = nil                                                                                -- The path of the previously saved session file.
local isLoadTerrain = im.BoolPtr(true)                                                              -- A flag which indicates the terrains should be loaded when loading sessions.
local masterWidth = im.FloatPtr(3.5)                                                                -- The master lane width (for UI control in individual road edit section).
local importCO, importTT2I, importO2T = im.BoolPtr(false), im.BoolPtr(false), im.BoolPtr(false)     -- Checkbox flags used for various importing options.
local importCustomOffset = im.FloatPtr(0.0)                                                         -- Custom offset used for importing.
local masterWidth = im.FloatPtr(3.5)                                                                -- The master lane width (for UI control in individual road edit section).
local importCO, importTT2I, importO2T = im.BoolPtr(false), im.BoolPtr(false), im.BoolPtr(false)     -- Checkbox flags used for various importing options.
local importCustomOffset = im.FloatPtr(0.0)                                                         -- Custom offset used for importing.
local masterWidth = im.FloatPtr(3.5)                                                                -- The master lane width (for UI control in individual road edit section).
local importCO, importTT2I, importO2T = im.BoolPtr(false), im.BoolPtr(false), im.BoolPtr(false)     -- Checkbox flags used for various importing options.
local importCustomOffset = im.FloatPtr(0.0)                                                         -- Custom offset used for importing.
  hasCtrlFired = false,
  isShowRoads = im.BoolPtr(true),
  isShowBridges = im.BoolPtr(true),
  isShowRoads = im.BoolPtr(true),
  isShowBridges = im.BoolPtr(true),
  isShowOverlays = im.BoolPtr(true) }
  isShowBridges = im.BoolPtr(true),
  isShowOverlays = im.BoolPtr(true) }
  terraMargin = im.FloatPtr(1.0),                                                                   -- Terraforming: the margin around roads, in meters.
  isShowSingleRoad = im.BoolPtr(false),                                                             -- Terraforming: a flag which indicates if the group range will be visualised, or not.
  isShowGroup = im.BoolPtr(false) }                                                                 -- Terraforming: a flag which indicates if the selected road will be visualised, or not.
  isShowSingleRoad = im.BoolPtr(false),                                                             -- Terraforming: a flag which indicates if the group range will be visualised, or not.
  isShowGroup = im.BoolPtr(false) }                                                                 -- Terraforming: a flag which indicates if the selected road will be visualised, or not.
          if editor.uiIconImageButton(rBtn, vec36, useCivilEngButtonCol, nil, nil, 'UseCivilEngButton') then
            road.isCivilEngRoads = im.BoolPtr(not road.isCivilEngRoads[0])
            roadMgr.setDirty(road)
            local roadPre = copyDataState()
            road.isConformRoadToTerrain = im.BoolPtr(not road.isConformRoadToTerrain[0])
            roadMgr.setDirty(road)
              if terraParams.isShowSingleRoad[0] then
                terraParams.isShowGroup = im.BoolPtr(false)
              end
              local roadPre = copyDataState()
              road.isRigidTranslation = im.BoolPtr(not road.isRigidTranslation[0])
              local roadPost = copyDataState()
            local roadPre = copyDataState()
            road.isDisplayRoadSurface = im.BoolPtr(not road.isDisplayRoadSurface[0])
            local roadPost = copyDataState()
            local roadPre = copyDataState()
            road.isDisplayRoadOutline = im.BoolPtr(not road.isDisplayRoadOutline[0])
            local roadPost = copyDataState()
            local roadPre = copyDataState()
            road.isDisplayRefLine = im.BoolPtr(not road.isDisplayRefLine[0])
            local roadPost = copyDataState()
            local roadPre = copyDataState()
            road.isDisplayLaneInfo = im.BoolPtr(not road.isDisplayLaneInfo[0])
            local roadPost = copyDataState()
            local roadPre = copyDataState()
            road.isDisplayNodeSpheres = im.BoolPtr(not road.isDisplayNodeSpheres[0])
            local roadPost = copyDataState()
            local roadPre = copyDataState()
            road.isDisplayNodeNumbers = im.BoolPtr(not road.isDisplayNodeNumbers[0])
            local roadPost = copyDataState()
            if terraParams.isShowGroup[0] then
              terraParams.isShowSingleRoad = im.BoolPtr(false)
            end
        if importO2T[0] then
          importCO = im.BoolPtr(false)
        end
        if importCO[0] then
          importO2T = im.BoolPtr(false)
        end
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veRawData.lua

local windowOpen = im.BoolPtr(false)
@/lua/ge/extensions/editor/raceEditor/timeTrials.lua
local authorsText = im.ArrayChar(2048, "")
local previewOpen = im.BoolPtr(false)
local previewTex = nil

  local editEnded = im.BoolPtr(false)
  if editor.uiInputText("Name", nameText, 1024, nil, nil, nil, editEnded) then

  editEnded = im.BoolPtr(false)
  if editor.uiInputTextMultiline("Description", descText, 2048, im.ImVec2(0,60), nil, nil, nil, editEnded) then

  editEnded = im.BoolPtr(false)
  if editor.uiInputText("Authors", authorsText, 1024, nil, nil, nil, editEnded) then
  local rem = nil
  local editEnded = im.BoolPtr(false)
  local list = self.path[fieldName]
@/lua/ge/extensions/editor/vehicleEditor/staticEditor/vePartTextView.lua

local scrollToSelection = im.BoolPtr(true)
@/lua/ge/extensions/gameplay/drift/drift.lua
local debugHistorySamplesPerSec = 10
local debugToggleSmothnessGraph = im.BoolPtr(false)
local function onDeserialized(data)
  debugToggleSmothnessGraph = im.BoolPtr(data.debugToggleSmothnessGraph)
end
@/lua/ge/extensions/ui/console.lua
local im = ui_imgui
local windowOpen = im.BoolPtr(false)
local guiModule = require("ge/extensions/editor/api/gui")
local fullscreen = true
local tooltipOnLongTxt = im.BoolPtr(false)
local winstate = {}
local winBgAlpha = {im.FloatPtr(0.9), im.FloatPtr(0.8)}
local loopHistory = im.BoolPtr(false)
local sandboxCmd = im.BoolPtr(true)
local loopHistory = im.BoolPtr(false)
local sandboxCmd = im.BoolPtr(true)
local focusOnShow = im.BoolPtr(true)
local sandboxCmd = im.BoolPtr(true)
local focusOnShow = im.BoolPtr(true)
local enableVehicleControls = true
local enableVehicleControls = true
local tableBgLines = im.BoolPtr(false)
local historyPath = '/consoleHistory.json'
@/lua/ge/extensions/flowgraph/nodes/ui/imgui/elemental/imCheckbox.lua
  end
  local imVal = im.BoolPtr(self.state)
  if im.Checkbox(tostring(self.pinIn.text.value or "Checkbox")  ..'##'.. tostring(self.id), imVal) then
@/lua/ge/extensions/editor/api/genericInspector.lua
  self.firstObjectFieldValues = {}
  self.editEnded = imgui.BoolPtr(false)
  self.inputTextValue = imgui.ArrayChar(self.valueInspector.inputTextShortStringMaxSize)
  for i = 1, self.maxGroupCount do
    table.insert(self.collapseGroups, i, imgui.BoolPtr(false))
  end
@/lua/ge/extensions/flowgraph/nodes/util/customLua.lua
  local change = false
  local editEnded = im.BoolPtr(false)
  local customNodes = editor.getPreference('flowgraph.general.customLuaNodes')
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/vePropTransformer.lua

local windowOpen = im.BoolPtr(false)
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veAdjustableTechCarTuner.lua

local windowOpen = im.BoolPtr(false)
@/lua/ge/extensions/editor/crawlEditor/boundaries.lua
end
local editEnded = im.BoolPtr(false)

  local topActive = im.BoolPtr(boundary.top.active)
  im.Checkbox("Top Limit", topActive)

  local botActive = im.BoolPtr(boundary.bot.active)
  im.Checkbox("Bottom Limit", botActive)
      if not self.fields[name] then self.fields[name] = im.ArrayChar(4096, fields.values[name]) end
      local editEnded = im.BoolPtr(false)
      editor.uiInputText(name, self.fields[name], nil, nil, nil, nil, editEnded)

      local editEnded = im.BoolPtr(false)
      editor.uiInputFloat(name, self.fields[name], nil, nil, nil, nil, editEnded)
      end
      local editEnded = im.BoolPtr(false)
      editor.uiInputFloat3(name, self.fields[name], nil, nil, editEnded)
@/lua/ge/extensions/editor/masterSpline.lua
              local selectedLayer = selSpline.layers[selectedLayerIdx]
              local tmpPtr = im.BoolPtr(selectedLayer.isFlip)
              if im.Checkbox("Flip Lateral", tmpPtr) then
@/lua/ge/extensions/editor/crawlEditor/presets.lua
  self.showPresetManager = false
  self.showPresetManagerPtr = im.BoolPtr(false)
  self.boundaryPresetName = im.ArrayChar(256, "")
  if self:getShowSaveBoundaryDialog() then
    local showBoundaryDialogPtr = im.BoolPtr(self:getShowSaveBoundaryDialog())
    if im.Begin("Save Boundary Component", showBoundaryDialogPtr, nil) then
  if self:getShowSavePathnodeDialog() then
    local showPathnodeDialogPtr = im.BoolPtr(self:getShowSavePathnodeDialog())
    if im.Begin("Save Pathnode Component", showPathnodeDialogPtr, nil) then
  if self:getShowSaveTrailDialog() then
    local showTrailDialogPtr = im.BoolPtr(self:getShowSaveTrailDialog())
    if im.Begin("Save Trail Component", showTrailDialogPtr, nil) then
@/lua/ge/extensions/flowgraph/nodes/input/blacklistActionFilter.lua
  for i, key in ipairs(self.sortedTemplateKeys) do
    if im.Checkbox(key.."##cbaf"..i, im.BoolPtr(self.activeTemplates[key] or false)) then
      self.activeTemplates[key] = not self.activeTemplates[key]
@/lua/ge/extensions/gameplay/statistic.lua
local timers = {}
local windowOpen = im.BoolPtr(false)
local initialWindowSize = im.ImVec2(300, 100)
@/lua/ge/extensions/gameplay/drift/scoring.lua
local im = ui_imgui
local scoreExperiment = im.BoolPtr(false)
local imVec4Yellow = im.ImVec4(1,1,0,1)
local imVec4Yellow = im.ImVec4(1,1,0,1)
local debugToggleSmothnessGraph = im.BoolPtr(false)
local isBeingDebugged
local function onDeserialized(data)
  scoreExperiment = im.BoolPtr(data.scoreExperiment or false)
  debugToggleSmothnessGraph = im.BoolPtr(data.debugToggleSmothnessGraph or false)
  scoreExperiment = im.BoolPtr(data.scoreExperiment or false)
  debugToggleSmothnessGraph = im.BoolPtr(data.debugToggleSmothnessGraph or false)
end
@/lua/ge/extensions/editor/flowgraph/properties.lua
function C:_drawInputField(path, cdata, type, v, savePath, saveCallback, enterOnly, padRight, pin)
  local editEnded = im.BoolPtr(false)
  im.PushItemWidth(im.GetContentRegionAvailWidth() - (padRight or 0))
    if not cdata[path] then
      cdata[path] = im.BoolPtr(v)
    end
function C:customPropertyColor(item, customName, cdata)
  local editEnded = im.BoolPtr(false)
  local reason = nil
    local reason = nil
    local editEnded = im.BoolPtr(false)
  local textinput = im.ArrayChar(256, tostring(graph.name or ''))
  local editEnded = im.BoolPtr(false)
  if editor.uiInputText('##Name', textinput, 256, nil, nil, nil, editEnded) then
  local textinput = im.ArrayChar(512, tostring(graph.description or ''))
  local editEnded = im.BoolPtr(false)
  if editor.uiInputTextMultiline('##Description', textinput, 512,im.ImVec2(im.GetContentRegionAvailWidth(),150), nil, nil, nil, editEnded) then
@/lua/ge/extensions/editor/tech/roadArchitect/link.lua
  jctMgr.translateJunction(jIdx, jCenter)
  jct.isSidewalk = im.BoolPtr(profileMgr.areSidewalksPresent(r2.profile))
  local _, numRight = profileMgr.getNumRoadLanesLR(r2.profile)
    jctMgr.rotateJunctionQuat(jIdx, jCenter, rot)
    jct.isY1Outwards = im.BoolPtr(false)
  else
    jctMgr.rotateJunctionQuat(jIdx, jCenter, rot)
    jct.isY1Outwards = im.BoolPtr(true)
  end
  jctMgr.translateJunction(jIdx, jCenter)
  jct.isSidewalk = im.BoolPtr(profileMgr.areSidewalksPresent(r1.profile))
  local _, numRight = profileMgr.getNumRoadLanesLR(r1.profile)
    jctMgr.rotateJunctionQuat(jIdx, jCenter, rot)
    jct.isY1Outwards = im.BoolPtr(true)
  else
    jctMgr.rotateJunctionQuat(jIdx, jCenter, rot)
    jct.isY1Outwards = im.BoolPtr(false)
  end
  jctMgr.rotateJunctionQuat(jIdx, jCenter, rot)
  jct.isSidewalk = im.BoolPtr(true)
  local _, numRight = profileMgr.getNumRoadLanesLR(r1.profile)
  jctMgr.rotateJunctionQuat(jIdx, jCenter, rot)
  jct.isSidewalk = im.BoolPtr(true)
  local _, numRight = profileMgr.getNumRoadLanesLR(r1.profile)
  jctMgr.rotateJunctionQuat(jIdx, jCenter, rot)
  jct.isSidewalk = im.BoolPtr(profileMgr.areSidewalksPresent(r1.profile))
  local _, numRight = profileMgr.getNumRoadLanesLR(r1.profile)
  jctMgr.rotateJunctionQuat(jIdx, jCenter, rot)
  jct.isSidewalk = im.BoolPtr(profileMgr.areSidewalksPresent(r1.profile))
  local _, numRight = profileMgr.getNumRoadLanesLR(r2.profile)
  jctMgr.rotateJunctionQuat(jIdx, jCenter, rot)
  jct.isSidewalk = im.BoolPtr(profileMgr.areSidewalksPresent(r1.profile))
  local _, numRight = profileMgr.getNumRoadLanesLR(r1.profile)
  jctMgr.rotateJunctionQuat(jIdx, jCenter, rot)
  jct.isSidewalk = im.BoolPtr(profileMgr.areSidewalksPresent(r1.profile))
  local _, numRight = profileMgr.getNumRoadLanesLR(r2.profile)
  jct.l2Length = im.FloatPtr(20.0)
  jct.isSidewalk = im.BoolPtr(profileMgr.areSidewalksPresent(r1.profile))
  local _, numRight = profileMgr.getNumRoadLanesLR(r1.profile)
  jct.numLanesX = im.IntPtr(numRight)
  jct.isYOneWay = im.BoolPtr(false)
  jctMgr.updateJunctionAfterChange(jIdx)
  jct.l2Length = im.FloatPtr(20.0)
  jct.isSidewalk = im.BoolPtr(profileMgr.areSidewalksPresent(r2.profile))
  local _, numRight = profileMgr.getNumRoadLanesLR(r2.profile)
  jct.numLanesX = im.IntPtr(numRight)
  jct.isYOneWay = im.BoolPtr(false)
  jctMgr.updateJunctionAfterChange(jIdx)
  jct.l2Length = im.FloatPtr(10.0)
  jct.isSidewalk = im.BoolPtr(false)
  local _, numRight = profileMgr.getNumRoadLanesLR(r1.profile)
  jct.l2Length = im.FloatPtr(10.0)
  jct.isSidewalk = im.BoolPtr(false)
  local _, numRight = profileMgr.getNumRoadLanesLR(r2.profile)
  jctMgr.rotateJunctionQuat(jIdx, jCenter, rot)
  jct.isSidewalk = im.BoolPtr(profileMgr.areSidewalksPresent(r1.profile))
  local _, numRight = profileMgr.getNumRoadLanesLR(r1.profile)
  jctMgr.rotateJunctionQuat(jIdx, jCenter, rot)
  jct.isSidewalk = im.BoolPtr(profileMgr.areSidewalksPresent(r1.profile))
  local _, numRight = profileMgr.getNumRoadLanesLR(r2.profile)
    -- Add the appropriate junction properties.
    jct.isSidewalk = im.BoolPtr(profileMgr.areSidewalksPresent(rNewT1.profile) or profileMgr.areSidewalksPresent(jRoad.profile))
    local _, numTRight = profileMgr.getNumRoadLanesLR(rNewT1.profile)
    jct.numLanesY = im.IntPtr(numJRight)
    jct.isYOneWay = im.BoolPtr(numJLeft == 0)
    if candJct.class == '1W [in] -> 2W. T-Junction' then
    if candJct.class == '1W [in] -> 2W. T-Junction' then
      jct.isY2Outwards = im.BoolPtr(false)
    elseif candJct.class == '1W [out] -> 2W. T-Junction' then
    elseif candJct.class == '1W [out] -> 2W. T-Junction' then
      jct.isY2Outwards = im.BoolPtr(true)
    end
    -- Add the appropriate junction properties.
    jct.isSidewalk = im.BoolPtr(profileMgr.areSidewalksPresent(rNewT1.profile) or profileMgr.areSidewalksPresent(jRoad.profile))
    local numT, _ = profileMgr.getNumRoadLanesLR(rNewT1.profile)
@/lua/ge/extensions/editor/roadEditor.lua

local templateDialogOpen = im.BoolPtr(false)

local useTemplate = im.BoolPtr(false)

local widthSliderEditEnded = im.BoolPtr(false)
    im.Text("Node Properties")
    local positionSliderEditEnded = im.BoolPtr(false)
    -- Create the field for node position
  im.SameLine()
  local aiRoadsPtr = im.BoolPtr(editor.getPreference("roadEditor.general.aiRoadsSelectable"))
  if im.Checkbox("AI roads selectable", aiRoadsPtr) then
  im.SameLine()
  local nonAiRoadsPtr = im.BoolPtr(editor.getPreference("roadEditor.general.nonAiRoadsSelectable"))
  if im.Checkbox("non-AI roads selectable", nonAiRoadsPtr) then
  im.SameLine()
  local overObjectsPtr = im.BoolPtr(editor.getPreference("roadEditor.general.overObjects"))
  if im.Checkbox("Over Objects", overObjectsPtr) then
@/lua/ge/extensions/editor/flowgraph/projectSettings.lua
  local textinput = im.ArrayChar(512, tostring(self.mgr.description or ''))
  local editEnded = im.BoolPtr(false)
  if editor.uiInputTextMultiline('##prDesc', textinput, 512,im.ImVec2(im.GetContentRegionAvailWidth(),100), nil, nil, nil, editEnded) then
  im.PushItemWidth(im.GetContentRegionAvailWidth() - 100)
  editEnded = im.BoolPtr(false)
  editor.uiSliderInt('##Difficulty',self.diffPtr,0,100, nil, editEnded)
  im.NextColumn()
  if im.Checkbox("##isScenario",im.BoolPtr(self.mgr.isScenario)) then
    self.mgr.isScenario = not self.mgr.isScenario
@/lua/ge/extensions/editor/crawlEditor/missionPortTool.lua

local showDialog = im.BoolPtr(false)
local missionsList = {}
@/lua/ge/extensions/editor/missionEditor/dev.lua
  self.devText = im.ArrayChar(2048, self.mission.devNotes.text or "")
  self.devMission = im.BoolPtr(self.mission.devNotes.devMission or false)
end
  im.NextColumn()
  local editEnded = im.BoolPtr(false)
@/lua/ge/extensions/editor/assetDeduplicator.lua
      im.SameLine()
      local modLinkEnabled = im.BoolPtr(modLink)
      if im.Checkbox("Allow linking with mods", modLinkEnabled) then
@/lua/ge/extensions/tech/cameraPreview.lua
    id = sensorId,
    visualize = im.BoolPtr(false),
    size = im.ImVec2(size.x, size.y),
    size = im.ImVec2(size.x, size.y),
    showColor = im.BoolPtr(true),
    showAnnotation = im.BoolPtr(false),
    showColor = im.BoolPtr(true),
    showAnnotation = im.BoolPtr(false),
    showDepth = im.BoolPtr(false),
    showAnnotation = im.BoolPtr(false),
    showDepth = im.BoolPtr(false),
    renderColours = config.renderColours,

local horizontalLayout = im.BoolPtr(true)
@/lua/ge/extensions/editor/gen/world.lua

	terrainImpExp.applyTransform = im.BoolPtr(false)
	-- change values based on terrain size
	}
	terrainImpExp.flipYAxis = im.BoolPtr(false)
	-- export
		if not cancs then
			local aiRoadsPtr = im.BoolPtr(editor.getPreference("roadEditor.general.aiRoadsSelectable"))
			editor.setPreference("roadEditor.general.aiRoadsSelectable", aiRoadsPtr[0])
@/lua/ge/extensions/editor/missionEditor/general.lua
  for _, rec in ipairs(self.recommendedAttributes) do
    self.recBooleans[rec] = im.BoolPtr(false)
  end
  im.NextColumn()
  local editEnded = im.BoolPtr(false)
  im.PushItemWidth(im.GetContentRegionAvailWidth() - 35)
  if type(self.mission.description) == "string" or self.mission.description == nil then
    editEnded = im.BoolPtr(false)
    im.PushItemWidth(im.GetContentRegionAvailWidth() - 35)
@/lua/ge/extensions/gameplay/drift/general.lua
          end
          local boolPtr = im.BoolPtr(extensionData.driftDebugInfo.default)
          if im.Checkbox("##"..extensionName, boolPtr) then
@/lua/ge/extensions/editor/dragRaceEditor/strips.lua
  local hasEndCamera = strip.endCamera ~= nil
  local endCameraPtr = im.BoolPtr(hasEndCamera)
  if im.Checkbox("Has End Camera", endCameraPtr) then
@/lua/ge/extensions/flowgraph/nodes/gameplay/vehiclePool/createPool.lua
function C:drawCustomProperties()
  local var = im.BoolPtr(self.data.keepVehicles and true or false)
  if im.Checkbox('Keep Inactive Vehicles', var) then
@/lua/ge/extensions/trackbuilder/trackBuilder.lua
-- window/imgui related stuff
local open = im.BoolPtr(false)
local trackSpawned = false
local initialized = false
local camDistanceChanged = im.BoolPtr(false)
local hiddenForScreenshotTimer = 0
local screenshotTaken = false
local stopDrivingWindowOpen = im.BoolPtr(false)
local exitButtonWindowOpen = im.BoolPtr(true)
local stopDrivingWindowOpen = im.BoolPtr(false)
local exitButtonWindowOpen = im.BoolPtr(true)
local menuSettings = {
local menuSettings = {
  hideModifiers = {value = im.BoolPtr(true), type="bool"},
  hidePieces = {value=im.BoolPtr(true), type="bool"},
  hideModifiers = {value = im.BoolPtr(true), type="bool"},
  hidePieces = {value=im.BoolPtr(true), type="bool"},
  camActivated = {value=im.BoolPtr(true), type="bool"},
  hidePieces = {value=im.BoolPtr(true), type="bool"},
  camActivated = {value=im.BoolPtr(true), type="bool"},
  camDistance = {value=im.FloatPtr(80), type="float"}
local clickInputModes = {
  leftMesh = im.BoolPtr(true),
  centerMesh = im.BoolPtr(false),
  leftMesh = im.BoolPtr(true),
  centerMesh = im.BoolPtr(false),
  rightMesh = im.BoolPtr(true),
  centerMesh = im.BoolPtr(false),
  rightMesh = im.BoolPtr(true),
}
local modifierValues = {
  bank   = { value = im.IntPtr(0),  interpolation = im.IntPtr(0), inverted = im.BoolPtr(false)},
  width  = { value = im.IntPtr(10), interpolation = im.IntPtr(0), inverted = im.BoolPtr(false)},
  bank   = { value = im.IntPtr(0),  interpolation = im.IntPtr(0), inverted = im.BoolPtr(false)},
  width  = { value = im.IntPtr(10), interpolation = im.IntPtr(0), inverted = im.BoolPtr(false)},
  height = { value =im.FloatPtr(0), interpolation = im.IntPtr(0), inverted = im.BoolPtr(false),
  width  = { value = im.IntPtr(10), interpolation = im.IntPtr(0), inverted = im.BoolPtr(false)},
  height = { value =im.FloatPtr(0), interpolation = im.IntPtr(0), inverted = im.BoolPtr(false),
    customSlope = im.BoolPtr(false), customSlopeValue = im.IntPtr(0),
  height = { value =im.FloatPtr(0), interpolation = im.IntPtr(0), inverted = im.BoolPtr(false),
    customSlope = im.BoolPtr(false), customSlopeValue = im.IntPtr(0),
    },

  checkpoint = { size = im.FloatPtr(4), position = im.ArrayFloat(3), active = im.BoolPtr(false)},
  leftWall = {value = im.FloatPtr(1), active = im.BoolPtr(false), interpolation = im.IntPtr(0), inverted = im.BoolPtr(false) },
  checkpoint = { size = im.FloatPtr(4), position = im.ArrayFloat(3), active = im.BoolPtr(false)},
  leftWall = {value = im.FloatPtr(1), active = im.BoolPtr(false), interpolation = im.IntPtr(0), inverted = im.BoolPtr(false) },
  rightWall = {value = im.FloatPtr(1), active = im.BoolPtr(false), interpolation = im.IntPtr(0), inverted = im.BoolPtr(false) },
  checkpoint = { size = im.FloatPtr(4), position = im.ArrayFloat(3), active = im.BoolPtr(false)},
  leftWall = {value = im.FloatPtr(1), active = im.BoolPtr(false), interpolation = im.IntPtr(0), inverted = im.BoolPtr(false) },
  rightWall = {value = im.FloatPtr(1), active = im.BoolPtr(false), interpolation = im.IntPtr(0), inverted = im.BoolPtr(false) },
  leftWall = {value = im.FloatPtr(1), active = im.BoolPtr(false), interpolation = im.IntPtr(0), inverted = im.BoolPtr(false) },
  rightWall = {value = im.FloatPtr(1), active = im.BoolPtr(false), interpolation = im.IntPtr(0), inverted = im.BoolPtr(false) },
  ceilingMesh = {value = im.FloatPtr(7), active = im.BoolPtr(false), interpolation = im.IntPtr(0), inverted = im.BoolPtr(false) },
  leftWall = {value = im.FloatPtr(1), active = im.BoolPtr(false), interpolation = im.IntPtr(0), inverted = im.BoolPtr(false) },
  rightWall = {value = im.FloatPtr(1), active = im.BoolPtr(false), interpolation = im.IntPtr(0), inverted = im.BoolPtr(false) },
  ceilingMesh = {value = im.FloatPtr(7), active = im.BoolPtr(false), interpolation = im.IntPtr(0), inverted = im.BoolPtr(false) },
  rightWall = {value = im.FloatPtr(1), active = im.BoolPtr(false), interpolation = im.IntPtr(0), inverted = im.BoolPtr(false) },
  ceilingMesh = {value = im.FloatPtr(7), active = im.BoolPtr(false), interpolation = im.IntPtr(0), inverted = im.BoolPtr(false) },
  obstacles = { list = {}},
  rightWall = {value = im.FloatPtr(1), active = im.BoolPtr(false), interpolation = im.IntPtr(0), inverted = im.BoolPtr(false) },
  ceilingMesh = {value = im.FloatPtr(7), active = im.BoolPtr(false), interpolation = im.IntPtr(0), inverted = im.BoolPtr(false) },
  obstacles = { list = {}},
      backwardLen = im.FloatPtr(4),
      absolute = im.BoolPtr(false),
      empty = im.BoolPtr(false),
      absolute = im.BoolPtr(false),
      empty = im.BoolPtr(false),
      piece = 'freeBezier'
      angle = im.FloatPtr(30),
      inside = im.BoolPtr(false),
      direction = im.IntPtr(-1),
  materialInfo = {
    leftMesh = { value = im.IntPtr(0), table = "border", paint = im.BoolPtr(true)},
    centerMesh = { value = im.IntPtr(0), table = "center", paint = im.BoolPtr(true)},
    leftMesh = { value = im.IntPtr(0), table = "border", paint = im.BoolPtr(true)},
    centerMesh = { value = im.IntPtr(0), table = "center", paint = im.BoolPtr(true)},
    rightMesh = { value = im.IntPtr(0), table = "border", paint = im.BoolPtr(true)},
    centerMesh = { value = im.IntPtr(0), table = "center", paint = im.BoolPtr(true)},
    rightMesh = { value = im.IntPtr(0), table = "border", paint = im.BoolPtr(true)},
    leftWall = { value = im.IntPtr(0), table = "border", paint = im.BoolPtr(true)},
    rightMesh = { value = im.IntPtr(0), table = "border", paint = im.BoolPtr(true)},
    leftWall = { value = im.IntPtr(0), table = "border", paint = im.BoolPtr(true)},
    rightWall = { value = im.IntPtr(0), table = "border", paint = im.BoolPtr(true)},
    leftWall = { value = im.IntPtr(0), table = "border", paint = im.BoolPtr(true)},
    rightWall = { value = im.IntPtr(0), table = "border", paint = im.BoolPtr(true)},
    ceilingMesh = { value = im.IntPtr(0), table = "border", paint = im.BoolPtr(true)}
    rightWall = { value = im.IntPtr(0), table = "border", paint = im.BoolPtr(true)},
    ceilingMesh = { value = im.IntPtr(0), table = "border", paint = im.BoolPtr(true)}
  },
  borderGlowColor = im.ArrayFloatByTbl({1.0, 1.0, 1.0, 1.0}),
  centerGlow = im.BoolPtr(true),
  borderGlow = im.BoolPtr(true),
  centerGlow = im.BoolPtr(true),
  borderGlow = im.BoolPtr(true),
  groundModel = im.IntPtr(0),
  materialSettings.borderGlowColor = colorToFloatArray(materialSettings.materials.border[materialSettings.selectedMaterial[0]+1]:getField('diffuseColor', 1))
  materialSettings.centerGlow = im.BoolPtr(toBool(materialSettings.materials.center[materialSettings.selectedMaterial[0]+1]:getField('glow', 1)))
  materialSettings.borderGlow = im.BoolPtr(toBool(materialSettings.materials.border[materialSettings.selectedMaterial[0]+1]:getField('glow', 1)))
  materialSettings.centerGlow = im.BoolPtr(toBool(materialSettings.materials.center[materialSettings.selectedMaterial[0]+1]:getField('glow', 1)))
  materialSettings.borderGlow = im.BoolPtr(toBool(materialSettings.materials.border[materialSettings.selectedMaterial[0]+1]:getField('glow', 1)))
  local groundModelKey = materialSettings.materials.center[materialSettings.selectedMaterial[0]+1]:getField('groundtype', 0)
  mode = im.IntPtr(0),
  noInter = im.BoolPtr(false),
  modes =im.ArrayCharPtrByTbl({"Star","Angle","Split"})
      if v.type == "bool" then
        menuSettings[name] = {value = im.BoolPtr(v.value), type == "bool"}
      elseif v.type == "float" then
  if not trackSpawned then
    open = im.BoolPtr(true)
  end
  saveSettings = {
    saveOnMap = im.BoolPtr(true),
    saveEnvironment = im.BoolPtr(true),
    saveOnMap = im.BoolPtr(true),
    saveEnvironment = im.BoolPtr(true),
    lapCount = im.IntPtr(2),
    lapCount = im.IntPtr(2),
    allowReverse = im.BoolPtr(false),
    trackNames = nil,
  paintModes = {
    Select = {tooltip=translateLanguage("ui.trackBuilder.toolbar.select", "Select segment"), active=im.BoolPtr(true), icon=editor.icons.near_me},
    Paint = {tooltip=translateLanguage("ui.trackBuilder.toolbar.paint", "Paint material"), active=im.BoolPtr(false), icon=editor.icons.brush},
    Select = {tooltip=translateLanguage("ui.trackBuilder.toolbar.select", "Select segment"), active=im.BoolPtr(true), icon=editor.icons.near_me},
    Paint = {tooltip=translateLanguage("ui.trackBuilder.toolbar.paint", "Paint material"), active=im.BoolPtr(false), icon=editor.icons.brush},
    ChangeMesh = {tooltip=translateLanguage("ui.trackBuilder.toolbar.changeShape", "Change track shapes"), active=im.BoolPtr(false), icon=editor.icons['tb_shapes'] or editor.icons.stop},
    Paint = {tooltip=translateLanguage("ui.trackBuilder.toolbar.paint", "Paint material"), active=im.BoolPtr(false), icon=editor.icons.brush},
    ChangeMesh = {tooltip=translateLanguage("ui.trackBuilder.toolbar.changeShape", "Change track shapes"), active=im.BoolPtr(false), icon=editor.icons['tb_shapes'] or editor.icons.stop},
    Merge = {tooltip=translateLanguage("ui.trackBuilder.toolbar.merge", "Merge"), active=im.BoolPtr(false), icon=editor.icons.extension},
    ChangeMesh = {tooltip=translateLanguage("ui.trackBuilder.toolbar.changeShape", "Change track shapes"), active=im.BoolPtr(false), icon=editor.icons['tb_shapes'] or editor.icons.stop},
    Merge = {tooltip=translateLanguage("ui.trackBuilder.toolbar.merge", "Merge"), active=im.BoolPtr(false), icon=editor.icons.extension},
  }
      name = translateLanguage("ui.trackBuilder.menus.advancedModifiers", "Advanced Modifiers"),
      isOpen = im.BoolPtr(false), wasOpen = false, size = im.ImVec2(280,0), icon = editor.icons.adjust
    },
      name = translateLanguage("ui.trackBuilder.menus.advancedPieces", "Advanced Pieces"),
      isOpen = im.BoolPtr(false), wasOpen = false, size = im.ImVec2(280,0), icon = editor.icons['tb_loop'] or editor.icons.stop
    },
      name = translateLanguage("ui.trackBuilder.menus.trackShape", "Track Shape"),
      isOpen = im.BoolPtr(false), wasOpen = false, size = im.ImVec2(280,0), icon = editor.icons['tb_shapes'] or editor.icons.stop,
      onOpenFunction = onBordersAndCentersOpened, onCloseFunction = onBordersAndCentersClosed
      name =translateLanguage("ui.trackBuilder.menus.wallsCeiling", "Walls and Ceiling"),
      isOpen = im.BoolPtr(false), wasOpen = false, size = im.ImVec2(280,0), icon = editor.icons['tb_tunnel'] or editor.icons.stop
    },
      name = translateLanguage("ui.trackBuilder.menus.obstacles", "Obstacles"),
      isOpen = im.BoolPtr(false), wasOpen = false, size = im.ImVec2(280,504), icon = editor.icons.remove_circle_outline
    },
      name = translateLanguage("ui.trackBuilder.menus.materialEditor", "Material Editor"),
      isOpen = im.BoolPtr(false), wasOpen = false, size = im.ImVec2(280,0), icon = editor.icons.brush,
      onOpenFunction = onMaterialEditorOpened, onCloseFunction = onMaterialEditorClosed
      name = 'SubTrack',
      isOpen = im.BoolPtr(true), wasOpen = false, size = im.ImVec2(280,0), icon = editor.icons.extension,
      onCloseFunction = onSubTracksClosed
  additionalMenuItems = {
    checkpoints = {name = translateLanguage("ui.trackBuilder.menus.checkpoints", "CheckPoints"), isOpen = im.BoolPtr(false), wasOpen = false, size = im.ImVec2(280,0), icon = editor.icons.flag},
    postionrotation = {name = translateLanguage("ui.trackBuilder.menus.trackSettings", "Track Settings"),  isOpen = im.BoolPtr(false), wasOpen = false, size = im.ImVec2(280,0), icon = editor.icons.settings},
    checkpoints = {name = translateLanguage("ui.trackBuilder.menus.checkpoints", "CheckPoints"), isOpen = im.BoolPtr(false), wasOpen = false, size = im.ImVec2(280,0), icon = editor.icons.flag},
    postionrotation = {name = translateLanguage("ui.trackBuilder.menus.trackSettings", "Track Settings"),  isOpen = im.BoolPtr(false), wasOpen = false, size = im.ImVec2(280,0), icon = editor.icons.settings},
    saveload = {name= translateLanguage("ui.trackBuilder.menus.saveLoad", "Save and Load"),isOpen = im.BoolPtr(false), wasOpen = false, size = im.ImVec2(280,420), icon = editor.icons.save},
    postionrotation = {name = translateLanguage("ui.trackBuilder.menus.trackSettings", "Track Settings"),  isOpen = im.BoolPtr(false), wasOpen = false, size = im.ImVec2(280,0), icon = editor.icons.settings},
    saveload = {name= translateLanguage("ui.trackBuilder.menus.saveLoad", "Save and Load"),isOpen = im.BoolPtr(false), wasOpen = false, size = im.ImVec2(280,420), icon = editor.icons.save},
    --debug = {name = 'debug', value = im.BoolPtr(false), icon = editor.icons.bug_report}
    saveload = {name= translateLanguage("ui.trackBuilder.menus.saveLoad", "Save and Load"),isOpen = im.BoolPtr(false), wasOpen = false, size = im.ImVec2(280,420), icon = editor.icons.save},
    --debug = {name = 'debug', value = im.BoolPtr(false), icon = editor.icons.bug_report}
  }
@/lua/ge/extensions/editor/vehicleEditor/staticEditor/vePartList.lua

local checkboxActivePartsOnly = im.BoolPtr(true)
local parts = nil
@/lua/ge/extensions/ui/messagesDebugger.lua
local im = ui_imgui
local windowOpen = im.BoolPtr(false)
local ttlSeconds = im.FloatPtr(5.0)
local useRegexClear = im.BoolPtr(false)
local bypassTtl = im.BoolPtr(false)
local useRegexClear = im.BoolPtr(false)
local bypassTtl = im.BoolPtr(false)
@/lua/ge/extensions/core/vehicleMirrors.lua
-- local userCorrection = vec3()
local showDebug = im.BoolPtr(false)
local time = 0

local windowOpen = im.BoolPtr(false)
local function renderUI()
@/lua/ge/extensions/editor/missionEditor/setupModules.lua
  self.vehicleGroupData = self.mission.setupModules.vehicles.vehicles
  self.vehicleIncludePlayer = im.BoolPtr(self.mission.setupModules.vehicles.includePlayerVehicle and true or false)
  self.vehiclePrioritizePlayer = im.BoolPtr(self.mission.setupModules.vehicles.prioritizePlayerVehicle and true or false)
  self.vehicleIncludePlayer = im.BoolPtr(self.mission.setupModules.vehicles.includePlayerVehicle and true or false)
  self.vehiclePrioritizePlayer = im.BoolPtr(self.mission.setupModules.vehicles.prioritizePlayerVehicle and true or false)
  self.vehicleSelectors = {}
  self.trafficRespawnRateInput = im.FloatPtr(self.mission.setupModules.traffic.respawnRate or 1)
  self.trafficUseTrafficInput = im.BoolPtr(self.mission.setupModules.traffic.useTraffic and true or false)
  self.trafficPrevTrafficInput = im.BoolPtr(self.mission.setupModules.traffic.usePrevTraffic and true or false)
  self.trafficUseTrafficInput = im.BoolPtr(self.mission.setupModules.traffic.useTraffic and true or false)
  self.trafficPrevTrafficInput = im.BoolPtr(self.mission.setupModules.traffic.usePrevTraffic and true or false)
  self.trafficUserOptionsInput = im.BoolPtr(self.mission.setupModules.traffic.useGameOptions and true or false)
  self.trafficPrevTrafficInput = im.BoolPtr(self.mission.setupModules.traffic.usePrevTraffic and true or false)
  self.trafficUserOptionsInput = im.BoolPtr(self.mission.setupModules.traffic.useGameOptions and true or false)
  self.trafficSimpleVehsInput = im.BoolPtr(self.mission.setupModules.traffic.useSimpleVehs and true or false)
  self.trafficUserOptionsInput = im.BoolPtr(self.mission.setupModules.traffic.useGameOptions and true or false)
  self.trafficSimpleVehsInput = im.BoolPtr(self.mission.setupModules.traffic.useSimpleVehs and true or false)
  self.trafficUseCustomGroup = im.BoolPtr(self.mission.setupModules.traffic.useCustomGroup and true or false)
  self.trafficSimpleVehsInput = im.BoolPtr(self.mission.setupModules.traffic.useSimpleVehs and true or false)
  self.trafficUseCustomGroup = im.BoolPtr(self.mission.setupModules.traffic.useCustomGroup and true or false)
  self.fogDensityInput = im.FloatPtr(self.mission.setupModules.environment.fogDensity or 0)
  self.todUserSettingInput = im.BoolPtr(self.mission.setupModules.environment.todUserSetting and true or false)
  self.weatherUserSettingInput = im.FloatPtr(self.mission.setupModules.environment.weatherUserSetting and true or false)
  end
  if im.Checkbox("##setupModuleVehiclesEnabled", im.BoolPtr(setupModule.enabled)) then
    setupModule.enabled = not setupModule.enabled
  end
  if im.Checkbox("##setupModuleTrafficEnabled", im.BoolPtr(setupModule.enabled)) then
    setupModule.enabled = not setupModule.enabled
  end
  if im.Checkbox("##setupModuleEnvironmentEnabled", im.BoolPtr(setupModule.enabled)) then
    setupModule.enabled = not setupModule.enabled
  if im.BeginCombo("##setupdiff", diffSetupCount .. " / " .. 5 .. " (" .. table.concat( diffSetupText, ", " )..")") then
    if im.Checkbox("All", im.BoolPtr(diffSetupCount == 5)) then
      veh.toggleDifferentials = diffSetupCount ~= 5
    end
    if im.Checkbox("Toggle Differentials", im.BoolPtr(veh.toggleDifferentials or false) ) then
      veh.toggleDifferentials = not veh.toggleDifferentials
    end
    if im.Checkbox("Front Differentials", im.BoolPtr(veh.lockFrontDiffs or false) ) then
      veh.lockFrontDiffs = not veh.lockFrontDiffs
    end
    if im.Checkbox("Rear Differentials", im.BoolPtr(veh.lockRearDiffs or false) ) then
      veh.lockRearDiffs = not veh.lockRearDiffs
    end
    if im.Checkbox("Transfercase to 4hi", im.BoolPtr(veh.setTransfercase or false) ) then
      veh.setTransfercase = not veh.setTransfercase
    end
    if im.Checkbox("Rangebox to low", im.BoolPtr(veh.setRangebox or false) ) then
      veh.setRangebox = not veh.setRangebox
@/lua/ge/extensions/flowgraph/nodes/util/closestPath.lua
function C:init()
  self.waypoint = im.BoolPtr(false)
end
function C:_onDeserialized(nodeData)
  self.waypoint = im.BoolPtr(nodeData.waypoint or false)
  self:updatePins()
@/lua/ge/extensions/gameplay/drift/sounds.lua
-- audio debug test stuff, simulate a drift
local simulateDriftPtr = im.BoolPtr(false)
local driftSpeedPtr = im.FloatPtr(20)
@/lua/ge/extensions/editor/raceEditor/segments.lua
      im.BeginChild1("currentSegmentInner", im.ImVec2(0, 0), im.WindowFlags_ChildWindow)
      local editEnded = im.BoolPtr(false)
      editor.uiInputText("Name", nameText, nil, nil, nil, nil, editEnded)
@/lua/ge/extensions/editor/missionEditor/careerSetup.lua
  self.tabName = "Objectives"
  self.rawCheckbox = im.BoolPtr(false)

  self.showInCareerCheckbox = im.BoolPtr(false)
  self.showInFreeroamCheckbox = im.BoolPtr(false)
  self.showInCareerCheckbox = im.BoolPtr(false)
  self.showInFreeroamCheckbox = im.BoolPtr(false)

local editEnded = im.BoolPtr(false)
function C:drawAttributeInput(re, idx, key)
@/lua/ge/extensions/editor/vehicleEditor/staticEditor/veJBeamTableVis.lua

local windowOpen = im.BoolPtr(false)
@/lua/ge/extensions/editor/sceneView.lua
local vecUp = vec3(0, 0, 1)
local renderMain = im.BoolPtr(true)
local createNewViewNextFrame = false -- this is required to not add new things to the table while iterating over it ...
    lastMouseDragPos = im.ImVec2(0,0),
    attachToObject = im.BoolPtr(data.attachToObject or true),
    editorIconsVisible = im.BoolPtr(data.editorIconsVisible or false),
    attachToObject = im.BoolPtr(data.attachToObject or true),
    editorIconsVisible = im.BoolPtr(data.editorIconsVisible or false),
    editorGizmoVisible = im.BoolPtr(data.editorGizmoVisible or false),
    editorIconsVisible = im.BoolPtr(data.editorIconsVisible or false),
    editorGizmoVisible = im.BoolPtr(data.editorGizmoVisible or false),
    ortho = im.BoolPtr(data.ortho or false),
    editorGizmoVisible = im.BoolPtr(data.editorGizmoVisible or false),
    ortho = im.BoolPtr(data.ortho or false),
    dragOffset = data.dragOffset or vec3(0,0,0),
@/lua/ge/extensions/editor/vehicleDetailViewer.lua
  for _, view in pairs(views or {}) do
    view.windowOpen = im.BoolPtr(view.windowOpen or false)
  end

  if not view.debugBoolPtr then view.debugBoolPtr = im.BoolPtr(view.debug or false) end
  if im.Checkbox('Debug##VDV_'..tostring(view.name), view.debugBoolPtr) then

  if not view.fixUpAxisBoolPtr then view.fixUpAxisBoolPtr = im.BoolPtr(view.fixUpAxis or false) end
  if im.Checkbox('World Up Axis##VDV_'..tostring(view.name), view.fixUpAxisBoolPtr) then

  if not view.freezeBoolPtr then view.freezeBoolPtr = im.BoolPtr(view.freeze or false) end
  if im.Checkbox('Freeze Camera##VDV_'..tostring(view.name), view.freezeBoolPtr) then
    newView.name = 'View ' .. tostring(#views + 1)
    newView.windowOpen = im.BoolPtr(true)
    table.insert(views, newView)
@/lua/ge/extensions/freeroam/bigMapMode.lua
      end
      local transitionActivePtr = imgui.BoolPtr(camMode.transitionActive)
      if imgui.Checkbox("Activate camera transition", transitionActivePtr) then
@/lua/ge/extensions/editor/api/valueInspector.lua
  -- This emulates a popup window because BeginPopup doesnt work correctly with the "hovered" state of imgui windows
  local windowOpenPtr = imgui.BoolPtr(true)
  if imgui.Begin(fieldNameId .. "MaterialSetPopup", windowOpenPtr, imgui.flags(imgui.WindowFlags_NoCollapse, imgui.WindowFlags_NoDocking, imgui.WindowFlags_NoTitleBar)) then
  self.input4FloatValue = imgui.ArrayFloat(4)
  self.inputBoolValue = imgui.BoolPtr(false)
  self.comboIndex = imgui.IntPtr(0)
  self.comboIndex = imgui.IntPtr(0)
  self.editEnded = imgui.BoolPtr(false)
  self.setValueCallback = nil -- setValueCallback(fieldName, fieldValue, arrayIndex, customData, editEndedBool)
@/lua/ge/extensions/editor/rallyEditor/pacenotes/structuredForm.lua
  local curr = pacenote.structured.fields[fieldName] or default
  if im.Checkbox(uiLabel, im.BoolPtr(curr)) then
    pacenote.structured.fields[fieldName] = not curr

  if im.Checkbox("Lock to Manual Edit", im.BoolPtr(pacenote.lockToManualEdit)) then
    pacenote.lockToManualEdit = not pacenote.lockToManualEdit
  local curr = pacenote.structured.fields.finishLine or default
  if im.Checkbox("Finish Line", im.BoolPtr(curr)) then
    pacenote.structured.fields.finishLine = not curr
@/lua/ge/extensions/editor/camPathEditor.lua

local linkReplay = im.BoolPtr(true)
local displayPreview = im.BoolPtr(true)
local linkReplay = im.BoolPtr(true)
local displayPreview = im.BoolPtr(true)
local previewWindowSize
-- Overlay settings
local overlayEnabled = im.BoolPtr(true)
local overlayMode = im.IntPtr(0) -- 0: Rules of Third, 1: 16:9, 2: 9:16, etc.
local trackingOffset = im.ArrayFloat(3) -- X, Y, Z offset for vehicle center
local trackingDebug = im.BoolPtr(false) -- Show debug sphere at tracking point
      local imVal = im.FloatPtr(marker.time)
      local editEnded = im.BoolPtr(false)
      im.Text('Global Time')
      end
      local cut = im.BoolPtr(marker.cut or false)
      if im.Checkbox('Cut to next marker', cut) then

      local trackPosition = im.BoolPtr(marker.trackPosition or false)
      if im.Checkbox('Track player vehicle', trackPosition) then
      -- Moving Start
      local movingStart = im.BoolPtr(M.currentPath.markers[currentMarkerIndex].movingStart or false)
      if im.Checkbox('Moving Start', movingStart) then
      -- Moving End
      local movingEnd = im.BoolPtr(M.currentPath.markers[currentMarkerIndex].movingEnd or false)
      if im.Checkbox('Moving End', movingEnd) then

      local manualFov = im.BoolPtr(M.currentPath.manualFov or false)
      if im.Checkbox('Allow manual FOV change', manualFov) then
      im.SameLine()
      local looped = im.BoolPtr(M.currentPath.looped or false)
      if im.Checkbox('Looped', looped) then
@/lua/ge/extensions/flowgraph/nodes/types/genericValue.lua
  local reason = nil
  local global = im.BoolPtr(self.global)
  if im.Checkbox("Use Project as Source##".. self.id, global) then
  end
  local getter = im.BoolPtr(self.getter)
  if im.Checkbox("Is Getter##".. self.id, getter) then
@/lua/ge/extensions/editor/vehicleEditor/staticEditor/veJBeamModifierLeakVis.lua

local windowOpen = im.BoolPtr(false)

local useDefaultValuesForLeaking = im.BoolPtr(false)
@/lua/ge/extensions/editor/mainMenu.lua
local imgui_false = imgui.BoolFalse()
local drawGizmoPlane = imgui.BoolPtr(true)
local smoothCameraMove = imgui.BoolPtr(false)
local drawGizmoPlane = imgui.BoolPtr(true)
local smoothCameraMove = imgui.BoolPtr(false)
local smoothCameraRotate = imgui.BoolPtr(false)
local smoothCameraMove = imgui.BoolPtr(false)
local smoothCameraRotate = imgui.BoolPtr(false)
local opened = imgui.BoolPtr(true)
local smoothCameraRotate = imgui.BoolPtr(false)
local opened = imgui.BoolPtr(true)
local displaySceneMetric = imgui.BoolPtr(true)
local opened = imgui.BoolPtr(true)
local displaySceneMetric = imgui.BoolPtr(true)
local showCompleteSceneTree = imgui.BoolPtr(false)
local displaySceneMetric = imgui.BoolPtr(true)
local showCompleteSceneTree = imgui.BoolPtr(false)
local showNavGraphDrivability = imgui.BoolPtr(false)
local showCompleteSceneTree = imgui.BoolPtr(false)
local showNavGraphDrivability = imgui.BoolPtr(false)

local saveLayoutWindow = imgui.BoolPtr(false)
local deleteLayoutWindow = imgui.BoolPtr(false)
local saveLayoutWindow = imgui.BoolPtr(false)
local deleteLayoutWindow = imgui.BoolPtr(false)
local resetLayoutsWindow = imgui.BoolPtr(false)
local deleteLayoutWindow = imgui.BoolPtr(false)
local resetLayoutsWindow = imgui.BoolPtr(false)
local layoutName = imgui.ArrayChar(128)
@/lua/ge/extensions/editor/dragRaceEditor/state.lua

  usingPrefabs = im.BoolPtr(false),
  hasEndCamera = im.BoolPtr(false),
  usingPrefabs = im.BoolPtr(false),
  hasEndCamera = im.BoolPtr(false),
@/lua/ge/extensions/gameplay/util/crashDetection.lua
local plotHelperUtil
local debugDamageAssessmentUIPtr = im.BoolPtr(false)
      graphEnabled = {
        [1] = im.BoolPtr(false),  -- Acceleration graphs
        [2] = im.BoolPtr(false),  -- Jerk graph
        [1] = im.BoolPtr(false),  -- Acceleration graphs
        [2] = im.BoolPtr(false),  -- Jerk graph
        [3] = im.BoolPtr(true),  -- Threshold/Damage graphs
        [2] = im.BoolPtr(false),  -- Jerk graph
        [3] = im.BoolPtr(true),  -- Threshold/Damage graphs
        [4] = im.BoolPtr(false),  -- Event graphs
        [3] = im.BoolPtr(true),  -- Threshold/Damage graphs
        [4] = im.BoolPtr(false),  -- Event graphs
      }
  debug = data.debug
  debugDamageAssessmentUIPtr = im.BoolPtr(data.debugDamageAssessmentUIPtr)
end
@/lua/ge/extensions/editor/tech/roadArchitect/profiles.lua
          name = im.ArrayChar(32, 'Centerline'),
          doNotDelete = im.BoolPtr(true),
          isReverse = im.BoolPtr(false),
          doNotDelete = im.BoolPtr(true),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(not isPaint),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(not isPaint),
          isDisplay = im.BoolPtr(false),
          isPaint = im.BoolPtr(not isPaint),
          isDisplay = im.BoolPtr(false),
          type = im.IntPtr(1),
          laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
          lane = im.IntPtr(1), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
          width = im.FloatPtr(0.4),
          width = im.FloatPtr(0.4),
          isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
          texLen = im.FloatPtr(5),
          jitter = im.FloatPtr(0.0),
          useWorldZ = im.BoolPtr(false),
          matDisplay = '[None]',
          name = im.ArrayChar(32, 'Edge L ' .. tostring(i)),
          doNotDelete = im.BoolPtr(true),
          isReverse = im.BoolPtr(false),
          doNotDelete = im.BoolPtr(true),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(not isPaint),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(not isPaint),
          isDisplay = im.BoolPtr(false),
          isPaint = im.BoolPtr(not isPaint),
          isDisplay = im.BoolPtr(false),
          type = im.IntPtr(1),
          laneMin = im.IntPtr(dummyLaneIdx), laneMax = im.IntPtr(dummyLaneIdx),
          lane = im.IntPtr(lIdx), isLeft = im.BoolPtr(true), off = im.FloatPtr(latOffL),
          width = im.FloatPtr(0.25),
          width = im.FloatPtr(0.25),
          isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
          texLen = im.FloatPtr(5),
          jitter = im.FloatPtr(0.0),
          useWorldZ = im.BoolPtr(false),
          matDisplay = '[None]',
          name = im.ArrayChar(32, 'Edge R ' .. tostring(i)),
          doNotDelete = im.BoolPtr(true),
          isReverse = im.BoolPtr(false),
          doNotDelete = im.BoolPtr(true),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(not isPaint),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(not isPaint),
          isDisplay = im.BoolPtr(false),
          isPaint = im.BoolPtr(not isPaint),
          isDisplay = im.BoolPtr(false),
          type = im.IntPtr(1),
          laneMin = im.IntPtr(dummyLaneIdx), laneMax = im.IntPtr(dummyLaneIdx),
          lane = im.IntPtr(lIdx), isLeft = im.BoolPtr(false), off = im.FloatPtr(-latOffR),
          width = im.FloatPtr(0.25),
          width = im.FloatPtr(0.25),
          isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
          texLen = im.FloatPtr(5),
          jitter = im.FloatPtr(0.0),
          useWorldZ = im.BoolPtr(false),
          matDisplay = '[None]',
            name = im.ArrayChar(32, 'Lane div ' .. tostring(i) .. '-' .. tostring(j)),
            doNotDelete = im.BoolPtr(true),
            isReverse = im.BoolPtr(false),
            doNotDelete = im.BoolPtr(true),
            isReverse = im.BoolPtr(false),
            isPaint = im.BoolPtr(not isPaint),
            isReverse = im.BoolPtr(false),
            isPaint = im.BoolPtr(not isPaint),
            isDisplay = im.BoolPtr(false),
            isPaint = im.BoolPtr(not isPaint),
            isDisplay = im.BoolPtr(false),
            type = im.IntPtr(1),
            laneMin = im.IntPtr(dummyLaneIdx), laneMax = im.IntPtr(dummyLaneIdx),
            lane = im.IntPtr(j), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
            width = im.FloatPtr(0.2),
            width = im.FloatPtr(0.2),
            isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
            texLen = im.FloatPtr(5),
            jitter = im.FloatPtr(0.0),
            useWorldZ = im.BoolPtr(false),
            matDisplay = '[None]',
            name = im.ArrayChar(32, 'Stop line A' .. tostring(i)),
            doNotDelete = im.BoolPtr(true),
            isReverse = im.BoolPtr(false),
            doNotDelete = im.BoolPtr(true),
            isReverse = im.BoolPtr(false),
            isPaint = im.BoolPtr(true),
            isReverse = im.BoolPtr(false),
            isPaint = im.BoolPtr(true),
            isDisplay = im.BoolPtr(false),
            isPaint = im.BoolPtr(true),
            isDisplay = im.BoolPtr(false),
            type = im.IntPtr(2),
            laneMin = im.IntPtr(s), laneMax = im.IntPtr(min(-1, e)),
            lane = im.IntPtr(rSections[i].s), isLeft = im.BoolPtr(true), off = im.FloatPtr(1.0),
            width = im.FloatPtr(0.4),
            width = im.FloatPtr(0.4),
            isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
            texLen = im.FloatPtr(5),
            jitter = im.FloatPtr(0.0),
            useWorldZ = im.BoolPtr(false),
            matDisplay = '[None]',
            name = im.ArrayChar(32, 'Stop line B' .. tostring(i)),
            doNotDelete = im.BoolPtr(true),
            isReverse = im.BoolPtr(false),
            doNotDelete = im.BoolPtr(true),
            isReverse = im.BoolPtr(false),
            isPaint = im.BoolPtr(true),
            isReverse = im.BoolPtr(false),
            isPaint = im.BoolPtr(true),
            isDisplay = im.BoolPtr(false),
            isPaint = im.BoolPtr(true),
            isDisplay = im.BoolPtr(false),
            type = im.IntPtr(2),
            laneMin = im.IntPtr(max(1, s)), laneMax = im.IntPtr(e),
            lane = im.IntPtr(rSections[i].s), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
            width = im.FloatPtr(0.4),
            width = im.FloatPtr(0.4),
            isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
            texLen = im.FloatPtr(5),
            jitter = im.FloatPtr(0.0),
            useWorldZ = im.BoolPtr(false),
            matDisplay = '[None]',
          name = im.ArrayChar(32, 'Edge Blend L ' .. tostring(i)),
          doNotDelete = im.BoolPtr(true),
          isReverse = im.BoolPtr(true),
          doNotDelete = im.BoolPtr(true),
          isReverse = im.BoolPtr(true),
          isPaint = im.BoolPtr(false),
          isReverse = im.BoolPtr(true),
          isPaint = im.BoolPtr(false),
          isDisplay = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isDisplay = im.BoolPtr(false),
          type = im.IntPtr(1),
          laneMin = im.IntPtr(s), laneMax = im.IntPtr(s),
          lane = im.IntPtr(s), isLeft = im.BoolPtr(true), off = im.FloatPtr(-edgeBlendLatOffset),
          width = im.FloatPtr(edgeBlendWidth),
          width = im.FloatPtr(edgeBlendWidth),
          isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
          texLen = im.FloatPtr(18),
          jitter = im.FloatPtr(0.0),
          useWorldZ = im.BoolPtr(false),
          matDisplay = '[None]',
          name = im.ArrayChar(32, 'Edge Blend R ' .. tostring(i)),
          doNotDelete = im.BoolPtr(true),
          isReverse = im.BoolPtr(false),
          doNotDelete = im.BoolPtr(true),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isDisplay = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isDisplay = im.BoolPtr(false),
          type = im.IntPtr(1),
          laneMin = im.IntPtr(e), laneMax = im.IntPtr(e),
          lane = im.IntPtr(e), isLeft = im.BoolPtr(false), off = im.FloatPtr(edgeBlendLatOffset),
          width = im.FloatPtr(edgeBlendWidth),
          width = im.FloatPtr(edgeBlendWidth),
          isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
          texLen = im.FloatPtr(18),
          jitter = im.FloatPtr(0.0),
          useWorldZ = im.BoolPtr(false),
          matDisplay = '[None]',
          isHidden = true,
          doNotDelete = im.BoolPtr(false),
          isReverse = im.BoolPtr(false),
          doNotDelete = im.BoolPtr(false),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isDisplay = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isDisplay = im.BoolPtr(false),
          type = im.IntPtr(0),
          laneMin = im.IntPtr(i), laneMax = im.IntPtr(i),
          lane = im.IntPtr(i), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
          width = im.FloatPtr(3.5),
          width = im.FloatPtr(3.5),
          isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
          texLen = im.FloatPtr(36),
          jitter = im.FloatPtr(0.0),
          useWorldZ = im.BoolPtr(false),
          matDisplay = '[None]',
          isHidden = true,
          doNotDelete = im.BoolPtr(false),
          isReverse = im.BoolPtr(false),
          doNotDelete = im.BoolPtr(false),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isDisplay = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isDisplay = im.BoolPtr(false),
          type = im.IntPtr(0),
          laneMin = im.IntPtr(i), laneMax = im.IntPtr(i),
          lane = im.IntPtr(i), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
          width = im.FloatPtr(3.5),
          width = im.FloatPtr(3.5),
          isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
          texLen = im.FloatPtr(36),
          jitter = im.FloatPtr(0.0),
          useWorldZ = im.BoolPtr(false),
          matDisplay = '[None]',
          isHidden = true,
          doNotDelete = im.BoolPtr(false),
          isReverse = im.BoolPtr(false),
          doNotDelete = im.BoolPtr(false),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isDisplay = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isDisplay = im.BoolPtr(false),
          type = im.IntPtr(0),
          laneMin = im.IntPtr(i), laneMax = im.IntPtr(i),
          lane = im.IntPtr(i), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
          width = im.FloatPtr(0.0),
          width = im.FloatPtr(0.0),
          isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
          texLen = im.FloatPtr(36),
          jitter = im.FloatPtr(0.0),
          useWorldZ = im.BoolPtr(false),
          matDisplay = '[None]',
          isHidden = true,
          doNotDelete = im.BoolPtr(false),
          isReverse = im.BoolPtr(false),
          doNotDelete = im.BoolPtr(false),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isDisplay = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isDisplay = im.BoolPtr(false),
          type = im.IntPtr(0),
          laneMin = im.IntPtr(i), laneMax = im.IntPtr(i),
          lane = im.IntPtr(i), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
          width = im.FloatPtr(0.0),
          width = im.FloatPtr(0.0),
          isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
          texLen = im.FloatPtr(26),
          jitter = im.FloatPtr(0.0),
          useWorldZ = im.BoolPtr(false),
          matDisplay = '[None]',
      isHidden = true,
      doNotDelete = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(0),
      laneMin = im.IntPtr(lIdx), laneMax = im.IntPtr(lIdx),
      lane = im.IntPtr(lIdx), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
      width = im.FloatPtr(8.0),
      width = im.FloatPtr(8.0),
      isSpanLong = im.BoolPtr(false), nMin = im.IntPtr(n1), nMax = im.IntPtr(n2),
      texLen = im.FloatPtr(26),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = '[None]',
      isHidden = true,
      doNotDelete = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(1),
      laneMin = im.IntPtr(1), laneMax = im.IntPtr(1),
      lane = im.IntPtr(lIdx), isLeft = im.BoolPtr(isLeft), off = im.FloatPtr(latOff),
      width = im.FloatPtr(4.0),
      width = im.FloatPtr(4.0),
      isSpanLong = im.BoolPtr(false), nMin = im.IntPtr(n1), nMax = im.IntPtr(n2),
      texLen = im.FloatPtr(32),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = '[None]',
      isHidden = true,
      doNotDelete = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(3),
      laneMin = im.IntPtr(lMin), laneMax = im.IntPtr(lMin),
      lane = im.IntPtr(lMin), isLeft = im.BoolPtr(isLeft), off = im.FloatPtr(q),
      width = im.FloatPtr(5.0),
      width = im.FloatPtr(5.0),
      isSpanLong = im.BoolPtr(false), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = '[None]',
      isHidden = true,
      doNotDelete = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(3),
      laneMin = im.IntPtr(lMin), laneMax = im.IntPtr(lMin),
      lane = im.IntPtr(lMin), isLeft = im.BoolPtr(isLeft), off = im.FloatPtr(q),
      width = im.FloatPtr(5.0),
      width = im.FloatPtr(5.0),
      isSpanLong = im.BoolPtr(false), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = '[None]',
          isHidden = true,
          doNotDelete = im.BoolPtr(false),
          isReverse = im.BoolPtr(false),
          doNotDelete = im.BoolPtr(false),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isReverse = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isDisplay = im.BoolPtr(false),
          isPaint = im.BoolPtr(false),
          isDisplay = im.BoolPtr(false),
          type = im.IntPtr(0),
          laneMin = im.IntPtr(i), laneMax = im.IntPtr(i),
          lane = im.IntPtr(i), isLeft = im.BoolPtr(true), off = im.FloatPtr(0.0),
          width = im.FloatPtr(0.0),
          width = im.FloatPtr(0.0),
          isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
          texLen = im.FloatPtr(36),
          jitter = im.FloatPtr(0.0),
          useWorldZ = im.BoolPtr(false),
          matDisplay = '[None]',
        isHidden = layer.isHidden,
        doNotDelete = im.BoolPtr(layer.doNotDelete[0]),
        isReverse = im.BoolPtr(layer.isReverse[0]),
        doNotDelete = im.BoolPtr(layer.doNotDelete[0]),
        isReverse = im.BoolPtr(layer.isReverse[0]),
        isPaint = im.BoolPtr(layer.isPaint[0]),
        isReverse = im.BoolPtr(layer.isReverse[0]),
        isPaint = im.BoolPtr(layer.isPaint[0]),
        isDisplay = im.BoolPtr(layer.isDisplay[0]),
        isPaint = im.BoolPtr(layer.isPaint[0]),
        isDisplay = im.BoolPtr(layer.isDisplay[0]),
        type = im.IntPtr(layer.type[0]),
        laneMin = im.IntPtr(layer.laneMin[0]), laneMax = im.IntPtr(layer.laneMax[0]),
        lane = im.IntPtr(layer.lane[0]), isLeft = im.BoolPtr(layer.isLeft[0]), off = im.FloatPtr(layer.off[0]),
        width = im.FloatPtr(layer.width[0]),
        width = im.FloatPtr(layer.width[0]),
        isSpanLong = im.BoolPtr(layer.isSpanLong[0]), nMin = im.IntPtr(layer.nMin[0]), nMax = im.IntPtr(layer.nMax[0]),
        texLen = im.FloatPtr(layer.texLen[0]),
        jitter = im.FloatPtr(layer.jitter or 0.0),
        useWorldZ = im.BoolPtr(layer.useWorldZ or false),
        matDisplay = layer.matDisplay,
  profile.numPotholes = im.IntPtr(template.numPotholes[0] or 0)
  profile.conditionCenterline = im.BoolPtr(template.conditionCenterline[0])
  profile.conditionEdgesL = im.BoolPtr(template.conditionEdgesL[0])
  profile.conditionCenterline = im.BoolPtr(template.conditionCenterline[0])
  profile.conditionEdgesL = im.BoolPtr(template.conditionEdgesL[0])
  profile.conditionEdgesR = im.BoolPtr(template.conditionEdgesR[0])
  profile.conditionEdgesL = im.BoolPtr(template.conditionEdgesL[0])
  profile.conditionEdgesR = im.BoolPtr(template.conditionEdgesR[0])
  profile.conditionLaneMarkings = im.BoolPtr(template.conditionLaneMarkings[0])
  profile.conditionEdgesR = im.BoolPtr(template.conditionEdgesR[0])
  profile.conditionLaneMarkings = im.BoolPtr(template.conditionLaneMarkings[0])
  profile.conditionEndStopS = im.BoolPtr(template.conditionEndStopS[0])
  profile.conditionLaneMarkings = im.BoolPtr(template.conditionLaneMarkings[0])
  profile.conditionEndStopS = im.BoolPtr(template.conditionEndStopS[0])
  profile.conditionEndStopE = im.BoolPtr(template.conditionEndStopE[0])
  profile.conditionEndStopS = im.BoolPtr(template.conditionEndStopS[0])
  profile.conditionEndStopE = im.BoolPtr(template.conditionEndStopE[0])
  profile.edgeLineGapL = im.FloatPtr(template.edgeLineGapL[0] or 0.25)
  profile.endStopMatR = template.endStopMatR or defaultEndStopMat
  profile.isEdgeBlendL = im.BoolPtr(template.isEdgeBlendL[0])
  profile.isEdgeBlendR = im.BoolPtr(template.isEdgeBlendR[0])
  profile.isEdgeBlendL = im.BoolPtr(template.isEdgeBlendL[0])
  profile.isEdgeBlendR = im.BoolPtr(template.isEdgeBlendR[0])
  profile.isShowEdgeBlend = im.BoolPtr(template.isShowEdgeBlend[0])
  profile.isEdgeBlendR = im.BoolPtr(template.isEdgeBlendR[0])
  profile.isShowEdgeBlend = im.BoolPtr(template.isShowEdgeBlend[0])
  profile.blendLeftMat = template.blendLeftMat or defaultEdgeBlendMaterial

  profile.isStopDecalS = im.BoolPtr(template.isStopDecalS[0])
  profile.isStopDecalE = im.BoolPtr(template.isStopDecalE[0])
  profile.isStopDecalS = im.BoolPtr(template.isStopDecalS[0])
  profile.isStopDecalE = im.BoolPtr(template.isStopDecalE[0])
  profile.stopGapS = im.FloatPtr(template.stopGapS[0])
  profile.stopGapE = im.FloatPtr(template.stopGapE[0])
  profile.continueLinesToEnd = im.BoolPtr(template.continueLinesToEnd[0])

  profile.isGutter = im.BoolPtr(template.isGutter[0])
  profile.gutterMat = template.gutterMat or defaultGutterMat
  profile.gutterWidth = im.FloatPtr(template.gutterWidth[0] or 0.2)
  profile.isGutterShow = im.BoolPtr(template.isGutterShow[0])

  profile.isAutoBanking = im.BoolPtr(template.isAutoBanking[0])
  profile.autoBankingFactor = im.FloatPtr(template.autoBankingFactor[0] or 1.0)
  profile.autoBankingFactor = im.FloatPtr(template.autoBankingFactor[0] or 1.0)
  profile.isExtraWidth = im.BoolPtr(template.isExtraWidth[0] or false)
        width = im.FloatPtr(lane.width[0]), heightL = im.FloatPtr(lane.heightL[0]), heightR = im.FloatPtr(lane.heightR[0]),
        isLeftSide = im.BoolPtr(lane.isLeftSide[0]), cornerDrop = im.FloatPtr(lane.cornerDrop[0]), vStart = im.IntPtr(lane.vStart[0]),
        kerbWidth = im.FloatPtr(lane.kerbWidth[0]), cornerLatOff = im.FloatPtr(lane.cornerLatOff[0]) }
      isHidden = layer.isHidden,
      doNotDelete = im.BoolPtr(layer.doNotDelete[0]),
      isReverse = im.BoolPtr(layer.isReverse[0]),
      doNotDelete = im.BoolPtr(layer.doNotDelete[0]),
      isReverse = im.BoolPtr(layer.isReverse[0]),
      isPaint = im.BoolPtr(layer.isPaint[0]),
      isReverse = im.BoolPtr(layer.isReverse[0]),
      isPaint = im.BoolPtr(layer.isPaint[0]),
      isDisplay = im.BoolPtr(layer.isDisplay[0]),
      isPaint = im.BoolPtr(layer.isPaint[0]),
      isDisplay = im.BoolPtr(layer.isDisplay[0]),
      type = im.IntPtr(layer.type[0]),
      laneMin = im.IntPtr(layer.laneMin[0]), laneMax = im.IntPtr(layer.laneMax[0]),
      lane = im.IntPtr(layer.lane[0]), isLeft = im.BoolPtr(layer.isLeft[0]), off = im.FloatPtr(layer.off[0]),
      width = im.FloatPtr(layer.width[0]),
      width = im.FloatPtr(layer.width[0]),
      isSpanLong = im.BoolPtr(layer.isSpanLong[0]), nMin = im.IntPtr(layer.nMin[0]), nMax = im.IntPtr(layer.nMax[0]),
      texLen = im.FloatPtr(layer.texLen[0]),
      jitter = im.FloatPtr(layer.jitter or 0.0),
      useWorldZ = im.BoolPtr(layer.useWorldZ or false),
      matDisplay = layer.matDisplay,
      isHidden = false,
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      doNotDelete = im.BoolPtr(true),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isReverse = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      isPaint = im.BoolPtr(false),
      isDisplay = im.BoolPtr(false),
      type = im.IntPtr(0),
      laneMin = im.IntPtr(cenLaneIdx), laneMax = im.IntPtr(cenLaneIdx),
      lane = im.IntPtr(cenLaneIdx), isLeft = im.BoolPtr(isLeft), off = im.FloatPtr(0.0),
      width = im.FloatPtr(1.0),
      width = im.FloatPtr(1.0),
      isSpanLong = im.BoolPtr(true), nMin = im.IntPtr(1), nMax = im.IntPtr(1),
      texLen = im.FloatPtr(5),
      jitter = im.FloatPtr(0.0),
      useWorldZ = im.BoolPtr(false),
      matDisplay = '[None]',
  profile.numPotholes = im.IntPtr(0)
  profile.conditionCenterline = im.BoolPtr(true)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionCenterline = im.BoolPtr(true)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(true)
  profile.conditionEndStopE = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(true)
  profile.conditionEndStopE = im.BoolPtr(true)
  profile.edgeLineGapL = im.FloatPtr(0.25)
  profile.endStopMatE = defaultEndStopMat
  profile.isEdgeBlendL = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isEdgeBlendL = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isShowEdgeBlend = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isShowEdgeBlend = im.BoolPtr(true)
  profile.blendLeftMat = defaultEdgeBlendMaterial

  profile.isStopDecalS = im.BoolPtr(false)
  profile.isStopDecalE = im.BoolPtr(false)
  profile.isStopDecalS = im.BoolPtr(false)
  profile.isStopDecalE = im.BoolPtr(false)
  profile.stopGapS = im.FloatPtr(0.2)
  profile.stopGapE = im.FloatPtr(0.2)
  profile.continueLinesToEnd = im.BoolPtr(false)

  profile.isGutter = im.BoolPtr(false)
  profile.gutterMat = defaultGutterMat
  profile.gutterWidth = im.FloatPtr(0.2)
  profile.isGutterShow = im.BoolPtr(false)

  profile.isAutoBanking = im.BoolPtr(false)
  profile.autoBankingFactor = im.FloatPtr(1.0)
  profile.autoBankingFactor = im.FloatPtr(1.0)
  profile.isExtraWidth = im.BoolPtr(false)
      width = im.FloatPtr(3.5), heightL = im.FloatPtr(0.1), heightR = im.FloatPtr(0.1),
      isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
      kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
  profile.numPotholes = im.IntPtr(template.numPotholes[0] or 0)
  profile.conditionCenterline = im.BoolPtr(template.conditionCenterline[0])
  profile.conditionEdgesL = im.BoolPtr(template.conditionEdgesL[0])
  profile.conditionCenterline = im.BoolPtr(template.conditionCenterline[0])
  profile.conditionEdgesL = im.BoolPtr(template.conditionEdgesL[0])
  profile.conditionEdgesR = im.BoolPtr(template.conditionEdgesR[0])
  profile.conditionEdgesL = im.BoolPtr(template.conditionEdgesL[0])
  profile.conditionEdgesR = im.BoolPtr(template.conditionEdgesR[0])
  profile.conditionLaneMarkings = im.BoolPtr(template.conditionLaneMarkings[0])
  profile.conditionEdgesR = im.BoolPtr(template.conditionEdgesR[0])
  profile.conditionLaneMarkings = im.BoolPtr(template.conditionLaneMarkings[0])
  profile.conditionEndStopS = im.BoolPtr(template.conditionEndStopS[0])
  profile.conditionLaneMarkings = im.BoolPtr(template.conditionLaneMarkings[0])
  profile.conditionEndStopS = im.BoolPtr(template.conditionEndStopS[0])
  profile.conditionEndStopE = im.BoolPtr(template.conditionEndStopE[0])
  profile.conditionEndStopS = im.BoolPtr(template.conditionEndStopS[0])
  profile.conditionEndStopE = im.BoolPtr(template.conditionEndStopE[0])
  profile.edgeLineGapL = im.FloatPtr(template.edgeLineGapL[0] or 0.25)
  profile.endStopMatE = template.endStopMatE or defaultEndStopMat
  profile.isEdgeBlendL = im.BoolPtr(template.isEdgeBlendL[0])
  profile.isEdgeBlendR = im.BoolPtr(template.isEdgeBlendR[0])
  profile.isEdgeBlendL = im.BoolPtr(template.isEdgeBlendL[0])
  profile.isEdgeBlendR = im.BoolPtr(template.isEdgeBlendR[0])
  profile.isShowEdgeBlend = im.BoolPtr(template.isShowEdgeBlend[0])
  profile.isEdgeBlendR = im.BoolPtr(template.isEdgeBlendR[0])
  profile.isShowEdgeBlend = im.BoolPtr(template.isShowEdgeBlend[0])
  profile.blendLeftMat = template.blendLeftMat or defaultEdgeBlendMaterial
  profile.blendRightWidth = im.FloatPtr(template.blendRightWidth[0] or 1.0)
  profile.isStopDecalS = im.BoolPtr(template.isStopDecalS[0])
  profile.isStopDecalE = im.BoolPtr(template.isStopDecalE[0])
  profile.isStopDecalS = im.BoolPtr(template.isStopDecalS[0])
  profile.isStopDecalE = im.BoolPtr(template.isStopDecalE[0])
  profile.stopGapS = im.FloatPtr(template.stopGapS[0])
  profile.stopGapE = im.FloatPtr(template.stopGapE[0])
  profile.continueLinesToEnd = im.BoolPtr(template.continueLinesToEnd[0] or false)

  profile.isGutter = im.BoolPtr(template.isGutter[0])
  profile.gutterMat = template.gutterMat or defaultGutterMat
  profile.gutterWidth = im.FloatPtr(template.gutterWidth[0] or 0.2)
  profile.isGutterShow = im.BoolPtr(template.isGutterShow[0])

  profile.isAutoBanking = im.BoolPtr(template.isAutoBanking[0])
  profile.autoBankingFactor = im.FloatPtr(template.autoBankingFactor[0] or 1.0)
  profile.autoBankingFactor = im.FloatPtr(template.autoBankingFactor[0] or 1.0)
  profile.isExtraWidth = im.BoolPtr(template.isExtraWidth[0] or false)
        width = im.FloatPtr(lane.width[0]), heightL = im.FloatPtr(lane.heightL[0]), heightR = im.FloatPtr(lane.heightR[0]),
        isLeftSide = im.BoolPtr(lane.isLeftSide[0]), cornerDrop = im.FloatPtr(lane.cornerDrop[0]), vStart = im.IntPtr(0),
        kerbWidth = im.FloatPtr(lane.kerbWidth[0]), cornerLatOff = im.FloatPtr(lane.cornerLatOff[0]) }
  profile.numPotholes = im.IntPtr(0)
  profile.conditionCenterline = im.BoolPtr(true)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionCenterline = im.BoolPtr(true)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(true)
  profile.conditionEndStopE = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(true)
  profile.conditionEndStopE = im.BoolPtr(true)
  profile.edgeLineGapL = im.FloatPtr(0.25)
  profile.endStopMatE = defaultEndStopMat
  profile.isEdgeBlendL = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isEdgeBlendL = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isShowEdgeBlend = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isShowEdgeBlend = im.BoolPtr(true)
  profile.blendLeftMat = defaultEdgeBlendMaterial
  profile.blendRightWidth = im.FloatPtr(1.0)
  profile.isStopDecalS = im.BoolPtr(false)
  profile.isStopDecalE = im.BoolPtr(false)
  profile.isStopDecalS = im.BoolPtr(false)
  profile.isStopDecalE = im.BoolPtr(false)
  profile.stopGapS = im.FloatPtr(0.2)
  profile.stopGapE = im.FloatPtr(0.2)
  profile.continueLinesToEnd = im.BoolPtr(false)

  profile.isGutter = im.BoolPtr(false)
  profile.gutterMat = defaultGutterMat
  profile.gutterWidth = im.FloatPtr(0.2)
  profile.isGutterShow = im.BoolPtr(false)

  profile.isAutoBanking = im.BoolPtr(false)
  profile.autoBankingFactor = im.FloatPtr(1.0)
  profile.autoBankingFactor = im.FloatPtr(1.0)
  profile.isExtraWidth = im.BoolPtr(false)
      width = im.FloatPtr(3.5), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
      isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
      kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
      width = im.FloatPtr(3.5), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
      isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
      kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
  profile.numPotholes = im.IntPtr(0)
  profile.conditionCenterline = im.BoolPtr(true)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionCenterline = im.BoolPtr(true)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(true)
  profile.conditionEndStopE = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(true)
  profile.conditionEndStopE = im.BoolPtr(true)
  profile.edgeLineGapL = im.FloatPtr(0.25)
  profile.endStopMatE = defaultEndStopMat
  profile.isEdgeBlendL = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isEdgeBlendL = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isShowEdgeBlend = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isShowEdgeBlend = im.BoolPtr(true)
  profile.blendLeftMat = defaultEdgeBlendMaterial
  profile.blendRightWidth = im.FloatPtr(1.0)
  profile.isStopDecalS = im.BoolPtr(false)
  profile.isStopDecalE = im.BoolPtr(false)
  profile.isStopDecalS = im.BoolPtr(false)
  profile.isStopDecalE = im.BoolPtr(false)
  profile.stopGapS = im.FloatPtr(0.2)
  profile.stopGapE = im.FloatPtr(0.2)
  profile.continueLinesToEnd = im.BoolPtr(false)

  profile.isGutter = im.BoolPtr(false)
  profile.gutterMat = defaultGutterMat
  profile.gutterWidth = im.FloatPtr(0.2)
  profile.isGutterShow = im.BoolPtr(false)

  profile.isAutoBanking = im.BoolPtr(false)
  profile.autoBankingFactor = im.FloatPtr(1.0)
  profile.autoBankingFactor = im.FloatPtr(1.0)
  profile.isExtraWidth = im.BoolPtr(false)
    width = im.FloatPtr(width), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
    isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
    kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
  profile.numPotholes = im.IntPtr(0)
  profile.conditionCenterline = im.BoolPtr(true)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionCenterline = im.BoolPtr(true)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(true)
  profile.conditionEndStopE = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(true)
  profile.conditionEndStopE = im.BoolPtr(true)
  profile.edgeLineGapL = im.FloatPtr(0.25)
  profile.endStopMatE = defaultEndStopMat
  profile.isEdgeBlendL = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isEdgeBlendL = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isShowEdgeBlend = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isShowEdgeBlend = im.BoolPtr(true)
  profile.blendLeftMat = defaultEdgeBlendMaterial
  profile.blendRightWidth = im.FloatPtr(1.0)
  profile.isStopDecalS = im.BoolPtr(false)
  profile.isStopDecalE = im.BoolPtr(false)
  profile.isStopDecalS = im.BoolPtr(false)
  profile.isStopDecalE = im.BoolPtr(false)
  profile.stopGapS = im.FloatPtr(0.2)
  profile.stopGapE = im.FloatPtr(0.2)
  profile.continueLinesToEnd = im.BoolPtr(false)

  profile.isGutter = im.BoolPtr(false)
  profile.gutterMat = defaultGutterMat
  profile.gutterWidth = im.FloatPtr(0.2)
  profile.isGutterShow = im.BoolPtr(false)

  profile.isAutoBanking = im.BoolPtr(false)
  profile.autoBankingFactor = im.FloatPtr(1.0)
  profile.autoBankingFactor = im.FloatPtr(1.0)
  profile.isExtraWidth = im.BoolPtr(false)
    width = im.FloatPtr(width), heightL = im.FloatPtr(depth), heightR = im.FloatPtr(depth),
    isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
    kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
    width = im.FloatPtr(width), heightL = im.FloatPtr(depth), heightR = im.FloatPtr(depth),
    isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
    kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
  profile.numPotholes = im.IntPtr(0)
  profile.conditionCenterline = im.BoolPtr(true)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionCenterline = im.BoolPtr(true)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(true)
  profile.conditionEndStopE = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(true)
  profile.conditionEndStopE = im.BoolPtr(true)
  profile.edgeLineGapL = im.FloatPtr(0.25)
  profile.endStopMatE = defaultEndStopMat
  profile.isEdgeBlendL = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isEdgeBlendL = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isShowEdgeBlend = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isShowEdgeBlend = im.BoolPtr(true)
  profile.blendLeftMat = mat or defaultEdgeBlendMaterial
  profile.blendRightWidth = im.FloatPtr(1.0)
  profile.isStopDecalS = im.BoolPtr(false)
  profile.isStopDecalE = im.BoolPtr(false)
  profile.isStopDecalS = im.BoolPtr(false)
  profile.isStopDecalE = im.BoolPtr(false)
  profile.stopGapS = im.FloatPtr(0.2)
  profile.stopGapE = im.FloatPtr(0.2)
  profile.continueLinesToEnd = im.BoolPtr(false)

  profile.isGutter = im.BoolPtr(false)
  profile.gutterMat = defaultGutterMat
  profile.gutterWidth = im.FloatPtr(0.2)
  profile.isGutterShow = im.BoolPtr(false)

  profile.isAutoBanking = im.BoolPtr(false)
  profile.autoBankingFactor = im.FloatPtr(1.0)
  profile.autoBankingFactor = im.FloatPtr(1.0)
  profile.isExtraWidth = im.BoolPtr(false)
      width = im.FloatPtr(width), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
      isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
      kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
      width = im.FloatPtr(width), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
      isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
      kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
      width = im.FloatPtr(sidewalkWidth), heightL = im.FloatPtr(sidewalkHeight), heightR = im.FloatPtr(sidewalkHeight),
      isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
      kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
      width = im.FloatPtr(sidewalkWidth), heightL = im.FloatPtr(sidewalkHeight), heightR = im.FloatPtr(sidewalkHeight),
      isLeftSide = im.BoolPtr(false), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
      kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
  profile.numPotholes = im.IntPtr(0)
  profile.conditionCenterline = im.BoolPtr(true)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionCenterline = im.BoolPtr(true)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(true)
  profile.conditionEndStopE = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(true)
  profile.conditionEndStopE = im.BoolPtr(true)
  profile.edgeLineGapL = im.FloatPtr(0.25)
  profile.endStopMatE = defaultEndStopMat
  profile.isEdgeBlendL = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isEdgeBlendL = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isShowEdgeBlend = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isShowEdgeBlend = im.BoolPtr(true)
  profile.blendLeftMat = mat or defaultEdgeBlendMaterial
  profile.blendRightWidth = im.FloatPtr(1.0)
  profile.isStopDecalS = im.BoolPtr(false)
  profile.isStopDecalE = im.BoolPtr(false)
  profile.isStopDecalS = im.BoolPtr(false)
  profile.isStopDecalE = im.BoolPtr(false)
  profile.stopGapS = im.FloatPtr(0.2)
  profile.stopGapE = im.FloatPtr(0.2)
  profile.continueLinesToEnd = im.BoolPtr(false)

  profile.isGutter = im.BoolPtr(false)
  profile.gutterMat = defaultGutterMat
  profile.gutterWidth = im.FloatPtr(0.2)
  profile.isGutterShow = im.BoolPtr(false)

  profile.isAutoBanking = im.BoolPtr(false)
  profile.autoBankingFactor = im.FloatPtr(1.0)
  profile.autoBankingFactor = im.FloatPtr(1.0)
  profile.isExtraWidth = im.BoolPtr(false)
      width = im.FloatPtr(width), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
      isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
      kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
      width = im.FloatPtr(width), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
      isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
      kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
      width = im.FloatPtr(sidewalkWidth), heightL = im.FloatPtr(sidewalkHeight), heightR = im.FloatPtr(sidewalkHeight),
      isLeftSide = im.BoolPtr(isFlipKerb), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
      kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
  profile.numPotholes = im.IntPtr(0)
  profile.conditionCenterline = im.BoolPtr(true)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionCenterline = im.BoolPtr(true)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(true)
  profile.conditionEndStopE = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(true)
  profile.conditionEndStopE = im.BoolPtr(true)
  profile.edgeLineGapL = im.FloatPtr(0.25)
  profile.endStopMatE = defaultEndStopMat
  profile.isEdgeBlendL = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isEdgeBlendL = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isShowEdgeBlend = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isShowEdgeBlend = im.BoolPtr(true)
  profile.blendLeftMat = mat or defaultEdgeBlendMaterial
  profile.blendRightWidth = im.FloatPtr(1.0)
  profile.isStopDecalS = im.BoolPtr(false)
  profile.isStopDecalE = im.BoolPtr(false)
  profile.isStopDecalS = im.BoolPtr(false)
  profile.isStopDecalE = im.BoolPtr(false)
  profile.stopGapS = im.FloatPtr(0.2)
  profile.stopGapE = im.FloatPtr(0.2)
  profile.continueLinesToEnd = im.BoolPtr(false)

  profile.isGutter = im.BoolPtr(false)
  profile.gutterMat = defaultGutterMat
  profile.gutterWidth = im.FloatPtr(0.2)
  profile.isGutterShow = im.BoolPtr(false)

  profile.isAutoBanking = im.BoolPtr(false)
  profile.autoBankingFactor = im.FloatPtr(1.0)
  profile.autoBankingFactor = im.FloatPtr(1.0)
  profile.isExtraWidth = im.BoolPtr(false)
      width = im.FloatPtr(width), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
      isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
      kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
      width = im.FloatPtr(sidewalkWidth), heightL = im.FloatPtr(sidewalkHeight), heightR = im.FloatPtr(sidewalkHeight),
      isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
      kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
      width = im.FloatPtr(sidewalkWidth), heightL = im.FloatPtr(sidewalkHeight), heightR = im.FloatPtr(sidewalkHeight),
      isLeftSide = im.BoolPtr(false), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
      kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
  profile.numPotholes = im.IntPtr(0)
  profile.conditionCenterline = im.BoolPtr(true)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionCenterline = im.BoolPtr(true)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(true)
  profile.conditionEndStopE = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(true)
  profile.conditionEndStopE = im.BoolPtr(true)
  profile.edgeLineGapL = im.FloatPtr(0.25)
  profile.endStopMatE = defaultEndStopMat
  profile.isEdgeBlendL = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isEdgeBlendL = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isShowEdgeBlend = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isShowEdgeBlend = im.BoolPtr(true)
  profile.blendLeftMat = mat or defaultEdgeBlendMaterial
  profile.blendRightWidth = im.FloatPtr(1.0)
  profile.isStopDecalS = im.BoolPtr(false)
  profile.isStopDecalE = im.BoolPtr(false)
  profile.isStopDecalS = im.BoolPtr(false)
  profile.isStopDecalE = im.BoolPtr(false)
  profile.stopGapS = im.FloatPtr(0.2)
  profile.stopGapE = im.FloatPtr(0.2)
  profile.continueLinesToEnd = im.BoolPtr(false)

  profile.isGutter = im.BoolPtr(false)
  profile.gutterMat = defaultGutterMat
  profile.gutterWidth = im.FloatPtr(0.2)
  profile.isGutterShow = im.BoolPtr(false)

  profile.isAutoBanking = im.BoolPtr(false)
  profile.autoBankingFactor = im.FloatPtr(1.0)
  profile.autoBankingFactor = im.FloatPtr(1.0)
  profile.isExtraWidth = im.BoolPtr(false)
      width = im.FloatPtr(width), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
      isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
      kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
      width = im.FloatPtr(width), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
      isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
      kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
    width = im.FloatPtr(sidewalkWidth), heightL = im.FloatPtr(sidewalkHeight), heightR = im.FloatPtr(sidewalkHeight),
    isLeftSide = im.BoolPtr(isLeftSide), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
    kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
  profile.numPotholes = im.IntPtr(0)
  profile.conditionCenterline = im.BoolPtr(true)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionCenterline = im.BoolPtr(true)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(true)
  profile.conditionEndStopE = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(true)
  profile.conditionEndStopE = im.BoolPtr(true)
  profile.edgeLineGapL = im.FloatPtr(0.25)
  profile.endStopMatE = defaultEndStopMat
  profile.isEdgeBlendL = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isEdgeBlendL = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isShowEdgeBlend = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isShowEdgeBlend = im.BoolPtr(true)
  profile.blendLeftMat = defaultEdgeBlendMaterial
  profile.blendRightWidth = im.FloatPtr(1.0)
  profile.isStopDecalS = im.BoolPtr(false)
  profile.isStopDecalE = im.BoolPtr(false)
  profile.isStopDecalS = im.BoolPtr(false)
  profile.isStopDecalE = im.BoolPtr(false)
  profile.stopGapS = im.FloatPtr(0.2)
  profile.stopGapE = im.FloatPtr(0.2)
  profile.continueLinesToEnd = im.BoolPtr(false)

  profile.isGutter = im.BoolPtr(false)
  profile.gutterMat = defaultGutterMat
  profile.gutterWidth = im.FloatPtr(0.2)
  profile.isGutterShow = im.BoolPtr(false)

  profile.isAutoBanking = im.BoolPtr(false)
  profile.autoBankingFactor = im.FloatPtr(1.0)
  profile.autoBankingFactor = im.FloatPtr(1.0)
  profile.isExtraWidth = im.BoolPtr(false)
    width = im.FloatPtr(sidewalkWidth), heightL = im.FloatPtr(sidewalkHeight), heightR = im.FloatPtr(sidewalkHeight),
    isLeftSide = im.BoolPtr(isFlipKerb), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
    kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
  profile.numPotholes = im.IntPtr(0)
  profile.conditionCenterline = im.BoolPtr(false)
  profile.conditionEdgesL = im.BoolPtr(false)
  profile.conditionCenterline = im.BoolPtr(false)
  profile.conditionEdgesL = im.BoolPtr(false)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionEdgesL = im.BoolPtr(false)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(false)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(false)
  profile.conditionEndStopE = im.BoolPtr(false)
  profile.conditionEndStopS = im.BoolPtr(false)
  profile.conditionEndStopE = im.BoolPtr(false)
  profile.edgeLineGapL = im.FloatPtr(0.25)
  profile.endStopMatE = defaultEndStopMat
  profile.isEdgeBlendL = im.BoolPtr(false)
  profile.isEdgeBlendR = im.BoolPtr(false)
  profile.isEdgeBlendL = im.BoolPtr(false)
  profile.isEdgeBlendR = im.BoolPtr(false)
  profile.isShowEdgeBlend = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(false)
  profile.isShowEdgeBlend = im.BoolPtr(true)
  profile.blendLeftMat = mat or defaultEdgeBlendMaterial
  profile.blendRightWidth = im.FloatPtr(1.0)
  profile.isStopDecalS = im.BoolPtr(false)
  profile.isStopDecalE = im.BoolPtr(false)
  profile.isStopDecalS = im.BoolPtr(false)
  profile.isStopDecalE = im.BoolPtr(false)
  profile.stopGapS = im.FloatPtr(0.2)
  profile.stopGapE = im.FloatPtr(0.2)
  profile.continueLinesToEnd = im.BoolPtr(false)

  profile.isGutter = im.BoolPtr(false)
  profile.gutterMat = defaultGutterMat
  profile.gutterWidth = im.FloatPtr(0.2)
  profile.isGutterShow = im.BoolPtr(false)

  profile.isAutoBanking = im.BoolPtr(false)
  profile.autoBankingFactor = im.FloatPtr(1.0)
  profile.autoBankingFactor = im.FloatPtr(1.0)
  profile.isExtraWidth = im.BoolPtr(false)
      width = im.FloatPtr(laneWidthRB), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
      isLeftSide = im.BoolPtr(false), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
      kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
  profile.numPotholes = im.IntPtr(0)
  profile.conditionCenterline = im.BoolPtr(false)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionCenterline = im.BoolPtr(false)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(false)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(false)
  profile.conditionEndStopE = im.BoolPtr(false)
  profile.conditionEndStopS = im.BoolPtr(false)
  profile.conditionEndStopE = im.BoolPtr(false)
  profile.edgeLineGapL = im.FloatPtr(0.25)
  profile.endStopMatE = defaultEndStopMat
  profile.isEdgeBlendL = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isEdgeBlendL = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isShowEdgeBlend = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isShowEdgeBlend = im.BoolPtr(true)
  profile.blendLeftMat = mat or defaultEdgeBlendMaterial
  profile.blendRightWidth = im.FloatPtr(1.0)
  profile.isStopDecalS = im.BoolPtr(false)
  profile.isStopDecalE = im.BoolPtr(false)
  profile.isStopDecalS = im.BoolPtr(false)
  profile.isStopDecalE = im.BoolPtr(false)
  profile.stopGapS = im.FloatPtr(0.2)
  profile.stopGapE = im.FloatPtr(0.2)
  profile.continueLinesToEnd = im.BoolPtr(false)

  profile.isGutter = im.BoolPtr(false)
  profile.gutterMat = defaultGutterMat
  profile.gutterWidth = im.FloatPtr(0.2)
  profile.isGutterShow = im.BoolPtr(false)

  profile.isAutoBanking = im.BoolPtr(false)
  profile.autoBankingFactor = im.FloatPtr(1.0)
  profile.autoBankingFactor = im.FloatPtr(1.0)
  profile.isExtraWidth = im.BoolPtr(false)
      width = im.FloatPtr(laneWidth), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
      isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
      kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
      width = im.FloatPtr(laneWidth), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
      isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
      kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
    width = im.FloatPtr(hardWidth), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
    isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
    kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
    width = im.FloatPtr(hardWidth), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
    isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
    kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
    width = im.FloatPtr(cResWidth * 0.5), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
    isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
    kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
    width = im.FloatPtr(cResWidth * 0.5), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
    isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
    kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
  profile.numPotholes = im.IntPtr(0)
  profile.conditionCenterline = im.BoolPtr(false)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionCenterline = im.BoolPtr(false)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(false)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(false)
  profile.conditionEndStopE = im.BoolPtr(false)
  profile.conditionEndStopS = im.BoolPtr(false)
  profile.conditionEndStopE = im.BoolPtr(false)
  profile.edgeLineGapL = im.FloatPtr(0.25)
  profile.endStopMatE = defaultEndStopMat
  profile.isEdgeBlendL = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isEdgeBlendL = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isShowEdgeBlend = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isShowEdgeBlend = im.BoolPtr(true)
  profile.blendLeftMat = mat or defaultEdgeBlendMaterial
  profile.blendRightWidth = im.FloatPtr(1.0)
  profile.isStopDecalS = im.BoolPtr(false)
  profile.isStopDecalE = im.BoolPtr(false)
  profile.isStopDecalS = im.BoolPtr(false)
  profile.isStopDecalE = im.BoolPtr(false)
  profile.stopGapS = im.FloatPtr(0.2)
  profile.stopGapE = im.FloatPtr(0.2)
  profile.continueLinesToEnd = im.BoolPtr(false)

  profile.isGutter = im.BoolPtr(false)
  profile.gutterMat = defaultGutterMat
  profile.gutterWidth = im.FloatPtr(0.2)
  profile.isGutterShow = im.BoolPtr(false)

  profile.isAutoBanking = im.BoolPtr(false)
  profile.autoBankingFactor = im.FloatPtr(1.0)
  profile.autoBankingFactor = im.FloatPtr(1.0)
  profile.isExtraWidth = im.BoolPtr(false)
        width = im.FloatPtr(laneWidth), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
        isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
        kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
        width = im.FloatPtr(sidewalkWidth), heightL = im.FloatPtr(sidewalkHeight), heightR = im.FloatPtr(sidewalkHeight),
        isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
        kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
        width = im.FloatPtr(sidewalkWidth), heightL = im.FloatPtr(sidewalkHeight), heightR = im.FloatPtr(sidewalkHeight),
        isLeftSide = im.BoolPtr(false), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
        kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
        width = im.FloatPtr(laneWidth), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
        isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
        kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
        width = im.FloatPtr(laneWidth), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
        isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
        kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
        width = im.FloatPtr(sidewalkWidth), heightL = im.FloatPtr(sidewalkHeight), heightR = im.FloatPtr(sidewalkHeight),
        isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
        kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
        width = im.FloatPtr(sidewalkWidth), heightL = im.FloatPtr(sidewalkHeight), heightR = im.FloatPtr(sidewalkHeight),
        isLeftSide = im.BoolPtr(false), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
        kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
  profile.numPotholes = im.IntPtr(0)
  profile.conditionCenterline = im.BoolPtr(false)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionCenterline = im.BoolPtr(false)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(false)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(false)
  profile.conditionEndStopE = im.BoolPtr(false)
  profile.conditionEndStopS = im.BoolPtr(false)
  profile.conditionEndStopE = im.BoolPtr(false)
  profile.edgeLineGapL = im.FloatPtr(0.25)
  profile.endStopMatE = defaultEndStopMat
  profile.isEdgeBlendL = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isEdgeBlendL = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isShowEdgeBlend = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isShowEdgeBlend = im.BoolPtr(true)
  profile.blendLeftMat = mat or defaultEdgeBlendMaterial
  profile.blendRightWidth = im.FloatPtr(1.0)
  profile.isStopDecalS = im.BoolPtr(false)
  profile.isStopDecalE = im.BoolPtr(false)
  profile.isStopDecalS = im.BoolPtr(false)
  profile.isStopDecalE = im.BoolPtr(false)
  profile.stopGapS = im.FloatPtr(0.2)
  profile.stopGapE = im.FloatPtr(0.2)
  profile.continueLinesToEnd = im.BoolPtr(false)

  profile.isGutter = im.BoolPtr(false)
  profile.gutterMat = defaultGutterMat
  profile.gutterWidth = im.FloatPtr(0.2)
  profile.isGutterShow = im.BoolPtr(false)

  profile.isAutoBanking = im.BoolPtr(false)
  profile.autoBankingFactor = im.FloatPtr(1.0)
  profile.autoBankingFactor = im.FloatPtr(1.0)
  profile.isExtraWidth = im.BoolPtr(false)
        width = im.FloatPtr(laneWidth), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
        isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
        kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
      width = im.FloatPtr(hardWidth), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
      isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
      kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
        width = im.FloatPtr(laneWidth), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
        isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
        kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
        width = im.FloatPtr(laneWidth), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
        isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
        kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
      width = im.FloatPtr(hardWidth), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
      isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
      kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
      width = im.FloatPtr(hardWidth), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
      isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
      kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
      width = im.FloatPtr(cResWidth * 0.5), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
      isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
      kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
      width = im.FloatPtr(cResWidth * 0.5), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
      isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
      kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
  profile.numPotholes = im.IntPtr(0)
  profile.conditionCenterline = im.BoolPtr(false)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionCenterline = im.BoolPtr(false)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(false)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(false)
  profile.conditionEndStopE = im.BoolPtr(false)
  profile.conditionEndStopS = im.BoolPtr(false)
  profile.conditionEndStopE = im.BoolPtr(false)
  profile.edgeLineGapL = im.FloatPtr(0.25)
  profile.endStopMatE = defaultEndStopMat
  profile.isEdgeBlendL = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isEdgeBlendL = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isShowEdgeBlend = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isShowEdgeBlend = im.BoolPtr(true)
  profile.blendLeftMat = mat or defaultEdgeBlendMaterial
  profile.blendRightWidth = im.FloatPtr(1.0)
  profile.isStopDecalS = im.BoolPtr(false)
  profile.isStopDecalE = im.BoolPtr(false)
  profile.isStopDecalS = im.BoolPtr(false)
  profile.isStopDecalE = im.BoolPtr(false)
  profile.stopGapS = im.FloatPtr(0.2)
  profile.stopGapE = im.FloatPtr(0.2)
  profile.continueLinesToEnd = im.BoolPtr(false)

  profile.isGutter = im.BoolPtr(false)
  profile.gutterMat = defaultGutterMat
  profile.gutterWidth = im.FloatPtr(0.2)
  profile.isGutterShow = im.BoolPtr(false)

  profile.isAutoBanking = im.BoolPtr(false)
  profile.autoBankingFactor = im.FloatPtr(1.0)
  profile.autoBankingFactor = im.FloatPtr(1.0)
  profile.isExtraWidth = im.BoolPtr(false)
      width = im.FloatPtr(laneWidth), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
      isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
      kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
    width = im.FloatPtr(hardWidth), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
    isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
    kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
  profile.numPotholes = im.IntPtr(0)
  profile.conditionCenterline = im.BoolPtr(false)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionCenterline = im.BoolPtr(false)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(false)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(false)
  profile.conditionEndStopE = im.BoolPtr(false)
  profile.conditionEndStopS = im.BoolPtr(false)
  profile.conditionEndStopE = im.BoolPtr(false)
  profile.edgeLineGapL = im.FloatPtr(0.25)
  profile.endStopMatE = defaultEndStopMat
  profile.isEdgeBlendL = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isEdgeBlendL = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isShowEdgeBlend = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isShowEdgeBlend = im.BoolPtr(true)
  profile.blendLeftMat = mat or defaultEdgeBlendMaterial
  profile.blendRightWidth = im.FloatPtr(1.0)
  profile.isStopDecalS = im.BoolPtr(false)
  profile.isStopDecalE = im.BoolPtr(false)
  profile.isStopDecalS = im.BoolPtr(false)
  profile.isStopDecalE = im.BoolPtr(false)
  profile.stopGapS = im.FloatPtr(0.2)
  profile.stopGapE = im.FloatPtr(0.2)
  profile.continueLinesToEnd = im.BoolPtr(false)

  profile.isGutter = im.BoolPtr(false)
  profile.gutterMat = defaultGutterMat
  profile.gutterWidth = im.FloatPtr(0.2)
  profile.isGutterShow = im.BoolPtr(false)

  profile.isAutoBanking = im.BoolPtr(false)
  profile.autoBankingFactor = im.FloatPtr(1.0)
  profile.autoBankingFactor = im.FloatPtr(1.0)
  profile.isExtraWidth = im.BoolPtr(false)
      width = im.FloatPtr(laneWidth), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
      isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
      kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
      width = im.FloatPtr(laneWidth), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
      isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
      kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
    width = im.FloatPtr(hardWidth), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
    isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
    kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
    width = im.FloatPtr(hardWidth), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
    isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
    kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
    width = im.FloatPtr(cResWidth * 0.5), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
    isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
    kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
    width = im.FloatPtr(cResWidth * 0.5), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
    isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
    kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
  profile.numPotholes = im.IntPtr(0)
  profile.conditionCenterline = im.BoolPtr(false)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionCenterline = im.BoolPtr(false)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(false)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(false)
  profile.conditionEndStopE = im.BoolPtr(false)
  profile.conditionEndStopS = im.BoolPtr(false)
  profile.conditionEndStopE = im.BoolPtr(false)
  profile.edgeLineGapL = im.FloatPtr(0.25)
  profile.endStopMatE = defaultEndStopMat
  profile.isEdgeBlendL = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isEdgeBlendL = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isShowEdgeBlend = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isShowEdgeBlend = im.BoolPtr(true)
  profile.blendLeftMat = mat or defaultEdgeBlendMaterial
  profile.blendRightWidth = im.FloatPtr(1.0)
  profile.isStopDecalS = im.BoolPtr(false)
  profile.isStopDecalE = im.BoolPtr(false)
  profile.isStopDecalS = im.BoolPtr(false)
  profile.isStopDecalE = im.BoolPtr(false)
  profile.stopGapS = im.FloatPtr(0.2)
  profile.stopGapE = im.FloatPtr(0.2)
  profile.continueLinesToEnd = im.BoolPtr(false)

  profile.isGutter = im.BoolPtr(false)
  profile.gutterMat = defaultGutterMat
  profile.gutterWidth = im.FloatPtr(0.2)
  profile.isGutterShow = im.BoolPtr(false)

  profile.isAutoBanking = im.BoolPtr(false)
  profile.autoBankingFactor = im.FloatPtr(1.0)
  profile.autoBankingFactor = im.FloatPtr(1.0)
  profile.isExtraWidth = im.BoolPtr(false)
      width = im.FloatPtr(laneWidth), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
      isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
      kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
      width = im.FloatPtr(laneWidth), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
      isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
      kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
    width = im.FloatPtr(hardWidth), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
    isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
    kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
    width = im.FloatPtr(hardWidth), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
    isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
    kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
    width = im.FloatPtr(laneWidth), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
    isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
    kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
    width = im.FloatPtr(laneWidth), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
    isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
    kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
    width = im.FloatPtr(hardWidth), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
    isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
    kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
    width = im.FloatPtr(hardWidth), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
    isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
    kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
    width = im.FloatPtr(cResWidth * 0.5), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
    isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
    kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
    width = im.FloatPtr(cResWidth * 0.5), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
    isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
    kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
  profile.numPotholes = im.IntPtr(0)
  profile.conditionCenterline = im.BoolPtr(false)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionCenterline = im.BoolPtr(false)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionEdgesL = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEdgesR = im.BoolPtr(true)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(false)
  profile.conditionLaneMarkings = im.BoolPtr(true)
  profile.conditionEndStopS = im.BoolPtr(false)
  profile.conditionEndStopE = im.BoolPtr(false)
  profile.conditionEndStopS = im.BoolPtr(false)
  profile.conditionEndStopE = im.BoolPtr(false)
  profile.edgeLineGapL = im.FloatPtr(0.25)
  profile.endStopMatE = defaultEndStopMat
  profile.isEdgeBlendL = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isEdgeBlendL = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isShowEdgeBlend = im.BoolPtr(true)
  profile.isEdgeBlendR = im.BoolPtr(true)
  profile.isShowEdgeBlend = im.BoolPtr(true)
  profile.blendLeftMat = mat or defaultEdgeBlendMaterial
  profile.blendRightWidth = im.FloatPtr(1.0)
  profile.isStopDecalS = im.BoolPtr(false)
  profile.isStopDecalE = im.BoolPtr(false)
  profile.isStopDecalS = im.BoolPtr(false)
  profile.isStopDecalE = im.BoolPtr(false)
  profile.stopGapS = im.FloatPtr(0.2)
  profile.stopGapE = im.FloatPtr(0.2)
  profile.continueLinesToEnd = im.BoolPtr(false)

  profile.isGutter = im.BoolPtr(false)
  profile.gutterMat = defaultGutterMat
  profile.gutterWidth = im.FloatPtr(0.2)
  profile.isGutterShow = im.BoolPtr(false)

  profile.isAutoBanking = im.BoolPtr(false)
  profile.autoBankingFactor = im.FloatPtr(1.0)
  profile.autoBankingFactor = im.FloatPtr(1.0)
  profile.isExtraWidth = im.BoolPtr(false)
    width = im.FloatPtr(laneWidth), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
    isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
    kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
    width = im.FloatPtr(hardWidth), heightL = im.FloatPtr(0.01), heightR = im.FloatPtr(0.01),
    isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
    kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
  profile.numPotholes = im.IntPtr(template.numPotholes[0] or 0)
  profile.conditionCenterline = im.BoolPtr(template.conditionCenterline[0])
  profile.conditionEdgesL = im.BoolPtr(template.conditionEdgesL[0])
  profile.conditionCenterline = im.BoolPtr(template.conditionCenterline[0])
  profile.conditionEdgesL = im.BoolPtr(template.conditionEdgesL[0])
  profile.conditionEdgesR = im.BoolPtr(template.conditionEdgesR[0])
  profile.conditionEdgesL = im.BoolPtr(template.conditionEdgesL[0])
  profile.conditionEdgesR = im.BoolPtr(template.conditionEdgesR[0])
  profile.conditionLaneMarkings = im.BoolPtr(template.conditionLaneMarkings[0])
  profile.conditionEdgesR = im.BoolPtr(template.conditionEdgesR[0])
  profile.conditionLaneMarkings = im.BoolPtr(template.conditionLaneMarkings[0])
  profile.conditionEndStopS = im.BoolPtr(template.conditionEndStopS[0])
  profile.conditionLaneMarkings = im.BoolPtr(template.conditionLaneMarkings[0])
  profile.conditionEndStopS = im.BoolPtr(template.conditionEndStopS[0])
  profile.conditionEndStopE = im.BoolPtr(template.conditionEndStopE[0])
  profile.conditionEndStopS = im.BoolPtr(template.conditionEndStopS[0])
  profile.conditionEndStopE = im.BoolPtr(template.conditionEndStopE[0])
  profile.edgeLineGapL = im.FloatPtr(template.edgeLineGapL[0] or 0.25)
  profile.endStopMatE = template.endStopMatE or defaultEndStopMat
  profile.isEdgeBlendL = im.BoolPtr(template.isEdgeBlendL[0])
  profile.isEdgeBlendR = im.BoolPtr(template.isEdgeBlendR[0])
  profile.isEdgeBlendL = im.BoolPtr(template.isEdgeBlendL[0])
  profile.isEdgeBlendR = im.BoolPtr(template.isEdgeBlendR[0])
  profile.isShowEdgeBlend = im.BoolPtr(template.isShowEdgeBlend[0])
  profile.isEdgeBlendR = im.BoolPtr(template.isEdgeBlendR[0])
  profile.isShowEdgeBlend = im.BoolPtr(template.isShowEdgeBlend[0])
  profile.blendLeftMat = template.blendLeftMat or defaultEdgeBlendMaterial
  profile.blendRightWidth = im.FloatPtr(template.blendRightWidth[0] or 1.0)
  profile.isStopDecalS = im.BoolPtr(template.isStopDecalS[0])
  profile.isStopDecalE = im.BoolPtr(template.isStopDecalE[0])
  profile.isStopDecalS = im.BoolPtr(template.isStopDecalS[0])
  profile.isStopDecalE = im.BoolPtr(template.isStopDecalE[0])
  profile.stopGapS = im.FloatPtr(template.stopGapS[0])
  profile.stopGapE = im.FloatPtr(template.stopGapE[0])
  profile.continueLinesToEnd = im.BoolPtr(template.continueLinesToEnd[0])

  profile.isGutter = im.BoolPtr(template.isGutter[0])
  profile.gutterMat = template.gutterMat or defaultGutterMat
  profile.gutterWidth = im.FloatPtr(template.gutterWidth[0] or 0.2)
  profile.isGutterShow = im.BoolPtr(template.isGutterShow[0])

  profile.isAutoBanking = im.BoolPtr(template.isAutoBanking[0])
  profile.autoBankingFactor = im.FloatPtr(template.autoBankingFactor[0] or 1.0)
  profile.autoBankingFactor = im.FloatPtr(template.autoBankingFactor[0] or 1.0)
  profile.isExtraWidth = im.BoolPtr(template.isExtraWidth[0] or false)
        width = im.FloatPtr(lane.width[0]), heightL = im.FloatPtr(lane.heightL[0]), heightR = im.FloatPtr(lane.heightR[0]),
        isLeftSide = im.BoolPtr(lane.isLeftSide[0]), cornerDrop = im.FloatPtr(lane.cornerDrop[0]), vStart = im.IntPtr(lane.vStart[0]),
        kerbWidth = im.FloatPtr(lane.kerbWidth[0]), cornerLatOff = im.FloatPtr(lane.cornerLatOff[0])  }
      width = im.FloatPtr(3.5), heightL = im.FloatPtr(laneHeight), heightR = im.FloatPtr(laneHeight),
      isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
      kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
      width = im.FloatPtr(3.5), heightL = im.FloatPtr(laneHeight), heightR = im.FloatPtr(laneHeight),
      isLeftSide = im.BoolPtr(true), cornerDrop = im.FloatPtr(0.0), vStart = im.IntPtr(0),
      kerbWidth = im.FloatPtr(0.12), cornerLatOff = im.FloatPtr(0.0) }
    numPotholes = im.IntPtr(pSer.numPotholes or 0),
    conditionCenterline = im.BoolPtr(pSer.conditionCenterline),
    conditionEdgesL = im.BoolPtr(pSer.conditionEdgesL or false),
    conditionCenterline = im.BoolPtr(pSer.conditionCenterline),
    conditionEdgesL = im.BoolPtr(pSer.conditionEdgesL or false),
    conditionEdgesR = im.BoolPtr(pSer.conditionEdgesR or false),
    conditionEdgesL = im.BoolPtr(pSer.conditionEdgesL or false),
    conditionEdgesR = im.BoolPtr(pSer.conditionEdgesR or false),
    conditionLaneMarkings = im.BoolPtr(pSer.conditionLaneMarkings),
    conditionEdgesR = im.BoolPtr(pSer.conditionEdgesR or false),
    conditionLaneMarkings = im.BoolPtr(pSer.conditionLaneMarkings),
    conditionEndStopS = im.BoolPtr(pSer.conditionEndStopS or false),
    conditionLaneMarkings = im.BoolPtr(pSer.conditionLaneMarkings),
    conditionEndStopS = im.BoolPtr(pSer.conditionEndStopS or false),
    conditionEndStopE = im.BoolPtr(pSer.conditionEndStopE or false),
    conditionEndStopS = im.BoolPtr(pSer.conditionEndStopS or false),
    conditionEndStopE = im.BoolPtr(pSer.conditionEndStopE or false),
    edgeLineGapL = im.FloatPtr(pSer.edgeLineGapL or 0.25),
    endStopMatE = pSer.endStopMatE or defaultEndStopMat,
    isEdgeBlendL = im.BoolPtr(pSer.isEdgeBlendL or false),
    isEdgeBlendR = im.BoolPtr(pSer.isEdgeBlendR or false),
    isEdgeBlendL = im.BoolPtr(pSer.isEdgeBlendL or false),
    isEdgeBlendR = im.BoolPtr(pSer.isEdgeBlendR or false),
    isShowEdgeBlend = im.BoolPtr(pSer.isShowEdgeBlend),
    isEdgeBlendR = im.BoolPtr(pSer.isEdgeBlendR or false),
    isShowEdgeBlend = im.BoolPtr(pSer.isShowEdgeBlend),
    blendLeftMat = pSer.blendLeftMat or defaultEdgeBlendMaterial,
    blendRightWidth = im.FloatPtr(pSer.blendRightWidth or 1.0),
    isStopDecalS = im.BoolPtr(pSer.isStopDecalS or false),
    isStopDecalE = im.BoolPtr(pSer.isStopDecalE or false),
    isStopDecalS = im.BoolPtr(pSer.isStopDecalS or false),
    isStopDecalE = im.BoolPtr(pSer.isStopDecalE or false),
    stopGapS = im.FloatPtr(pSer.stopGapS or false),
    stopGapE = im.FloatPtr(pSer.stopGapE or false),
    continueLinesToEnd = im.BoolPtr(pSer.continueLinesToEnd or false),

    isGutter = im.BoolPtr(pSer.isGutter),
    gutterMat = pSer.gutterMat or defaultGutterMat,
    gutterWidth = im.FloatPtr(pSer.gutterWidth or 0.2),
    isGutterShow = im.BoolPtr(pSer.isGutterShow),

    isAutoBanking = im.BoolPtr(pSer.isAutoBanking),
    autoBankingFactor = im.FloatPtr(pSer.autoBankingFactor or 1.0),
    autoBankingFactor = im.FloatPtr(pSer.autoBankingFactor or 1.0),
    isExtraWidth = im.BoolPtr(pSer.isExtraWidth or false) }
        width = im.FloatPtr(l.width or 3.5), heightL = im.FloatPtr(l.heightL or 0.01), heightR = im.FloatPtr(l.heightR or 0.01),
        isLeftSide = im.BoolPtr(l.isLeftSide or false), cornerDrop = im.FloatPtr(l.cornerDrop or 0.0), vStart = im.IntPtr(l.vStart or 0.0),
        kerbWidth = im.FloatPtr(l.kerbWidth or 0.12), cornerLatOff = im.FloatPtr(l.cornerLatOff or 0.0) }
          isHidden = lay.isHidden or false,
          doNotDelete = im.BoolPtr(lay.doNotDelete or false),
          isReverse = im.BoolPtr(lay.isReverse or false),
          doNotDelete = im.BoolPtr(lay.doNotDelete or false),
          isReverse = im.BoolPtr(lay.isReverse or false),
          isPaint = im.BoolPtr(lay.isPaint or false),
          isReverse = im.BoolPtr(lay.isReverse or false),
          isPaint = im.BoolPtr(lay.isPaint or false),
          isDisplay = im.BoolPtr(lay.isDisplay or false),
          isPaint = im.BoolPtr(lay.isPaint or false),
          isDisplay = im.BoolPtr(lay.isDisplay or false),
          type = im.IntPtr(lay.type or 0),
          laneMin = im.IntPtr(lay.laneMin or 1), laneMax = im.IntPtr(lay.laneMax or 1),
          lane = im.IntPtr(lay.lane or 1), isLeft = im.BoolPtr(lay.isLeft or false), off = im.FloatPtr(lay.off or 0.0),
          width = im.FloatPtr(lay.width or 3.5),
          width = im.FloatPtr(lay.width or 3.5),
          isSpanLong = im.BoolPtr(lay.isSpanLong), nMin = im.IntPtr(lay.nMin or 1), nMax = im.IntPtr(lay.nMax or 1),
          texLen = im.FloatPtr(lay.texLen or 5.0),
          jitter = im.FloatPtr(lay.jitter or 0.0),
          useWorldZ = im.BoolPtr(lay.useWorldZ or false),
          matDisplay = lay.matDisplay,
@/lua/ge/extensions/editor/crawlEditor/startingPositions.lua
local lastStartingPosition = nil
local editEnded = im.BoolPtr(false)
  pos[2] = startingPosition.transform.position.z
  local posEditEnded = im.BoolPtr(false)
  editor.uiInputFloat3("Position", pos, nil, nil, posEditEnded)
  rot[3] = startingPosition.transform.rotation.w
  local rotEditEnded = im.BoolPtr(false)
  editor.uiInputFloat4("Rotation", rot, nil, nil, rotEditEnded)
  local radius = im.FloatPtr(startingPosition.transform.radius or 10.0)
  local radiusEditEnded = im.BoolPtr(false)
  editor.uiInputFloat("Radius", radius, nil, nil, nil, nil, radiusEditEnded)
  iconPos[2] = startingPosition.iconPosition.z
  local iconPosEditEnded = im.BoolPtr(false)
  editor.uiInputFloat3("Icon Position", iconPos, nil, nil, iconPosEditEnded)
@/lua/ge/extensions/flowgraph/graph.lua
  self.parentId = nil
  self.showTab = im.BoolPtr(true)
  self.dirty = true
@/lua/ge/extensions/editor/shapeEditor.lua
local camrotation = {im.FloatPtr(0), im.FloatPtr(3.9)}
local renderFlags = {im.BoolPtr(false), im.BoolPtr(false), im.BoolPtr(false), im.BoolPtr(false), im.BoolPtr(false), im.BoolPtr(false)}
local forceDetail = im.BoolPtr(false)
local camrotation = {im.FloatPtr(0), im.FloatPtr(3.9)}
local renderFlags = {im.BoolPtr(false), im.BoolPtr(false), im.BoolPtr(false), im.BoolPtr(false), im.BoolPtr(false), im.BoolPtr(false)}
local forceDetail = im.BoolPtr(false)
local camrotation = {im.FloatPtr(0), im.FloatPtr(3.9)}
local renderFlags = {im.BoolPtr(false), im.BoolPtr(false), im.BoolPtr(false), im.BoolPtr(false), im.BoolPtr(false), im.BoolPtr(false)}
local forceDetail = im.BoolPtr(false)
local camrotation = {im.FloatPtr(0), im.FloatPtr(3.9)}
local renderFlags = {im.BoolPtr(false), im.BoolPtr(false), im.BoolPtr(false), im.BoolPtr(false), im.BoolPtr(false), im.BoolPtr(false)}
local forceDetail = im.BoolPtr(false)
local camrotation = {im.FloatPtr(0), im.FloatPtr(3.9)}
local renderFlags = {im.BoolPtr(false), im.BoolPtr(false), im.BoolPtr(false), im.BoolPtr(false), im.BoolPtr(false), im.BoolPtr(false)}
local forceDetail = im.BoolPtr(false)
local camrotation = {im.FloatPtr(0), im.FloatPtr(3.9)}
local renderFlags = {im.BoolPtr(false), im.BoolPtr(false), im.BoolPtr(false), im.BoolPtr(false), im.BoolPtr(false), im.BoolPtr(false)}
local forceDetail = im.BoolPtr(false)
local renderFlags = {im.BoolPtr(false), im.BoolPtr(false), im.BoolPtr(false), im.BoolPtr(false), im.BoolPtr(false), im.BoolPtr(false)}
local forceDetail = im.BoolPtr(false)
local detailLevel = im.IntPtr(0)
local highlightMaterialName = nil
local lodSloppy = im.BoolPtr(false)
local lodErrorTarget = im.FloatPtr(1.0)
@/lua/ge/extensions/editor/missionEditor.lua
    im.NextColumn()
    if im.Checkbox("##Automatic Id", im.BoolPtr(newMissionData.autoId)) then
      newMissionData.autoId = not newMissionData.autoId
      for _, fl in ipairs(filterNamesSorted) do
        local bl = im.BoolPtr(filter[fl.key])
        if im.Checkbox(fl.name, bl) then
      end
      if im.Checkbox('Short IDs', im.BoolPtr(editor.getPreference('missionEditor.general.shortIds'))) then
        editor.setPreference('missionEditor.general.shortIds', not editor.getPreference('missionEditor.general.shortIds'))
@/lua/ge/extensions/util/screenshotCreator.lua

local windowOpen = im.BoolPtr(false)
local initialWindowSize = im.ImVec2(300, 500)
local ctrls = { -- imgui controls
  generateMissingThumbnailsOnly = im.BoolPtr(false),
  reloadUIOnJobFinished = im.BoolPtr(true),
  generateMissingThumbnailsOnly = im.BoolPtr(false),
  reloadUIOnJobFinished = im.BoolPtr(true),
  camSpeedPtr = im.FloatPtr(core_camera.getSpeed()),
  resolutionToggled = false,
  keepAspectRatio = im.BoolPtr(false),
  multiplyRes = im.FloatPtr(2)
    local v = models[k]
    vehList[_] = {k,im.BoolPtr(false), (v.Brand and (v.Brand.." ") or "") ..v.Name }
  end
                  if cameraConfigs.vehCamConfig.cameraConfig then
                    local enabledPtr = im.BoolPtr(cameraConfigs.vehCamConfig.configCamEnabled)
                    if im.Checkbox("##"..configData.key, enabledPtr) then
                  if cameraConfigs.modelCamConfig then
                    local enabledPtr = im.BoolPtr(cameraConfigs.vehCamConfig.modelCamEnabled)
                    if im.Checkbox("##"..configData.key..".", enabledPtr) then

                local enabledPtr = im.BoolPtr(cameraConfigs.vehCamConfig.configCamEnabled)
                if im.Checkbox("Enabled", enabledPtr) then

                  local enabledPtr = im.BoolPtr(cameraConfigs.vehCamConfig.modelCamEnabled)
                  if im.Checkbox("Enabled", enabledPtr) then
@/lua/ge/extensions/editor/mainToolbar.lua
local im = ui_imgui
local toolbarOpen = im.BoolPtr(true)
local toolbarWindowName = "mainToolbar"

local modesManagerOpen = im.BoolPtr(false)
local buttonColor_active = im.GetStyleColorVec4(im.Col_ButtonActive)
    im.SetNextWindowPos(windowPos, im.Cond_Appearing)
    local wndOpen = im.BoolPtr(terrainSnapSettingsOpen)
    im.Begin("Terrain Snap Settings", wndOpen, im.WindowFlags_NoCollapse)
    im.Begin("Terrain Snap Settings", wndOpen, im.WindowFlags_NoCollapse)
    local relRotation = im.BoolPtr(editor.getPreference("snapping.terrain.relRotation"))
    if im.Checkbox("Keep relative rotation", relRotation) then
    end
    local individual = im.BoolPtr(editor.getPreference("snapping.terrain.indObjects"))
    if im.Checkbox("Treat objects individually", individual) then
    end
    local useRaycast = im.BoolPtr(editor.getPreference("snapping.terrain.useRayCast"))
    if im.Checkbox("Use raycast", useRaycast) then
    im.SetNextWindowPos(windowPos, im.Cond_Appearing)
    local wndOpen = im.BoolPtr(gridSnapSettingsOpen)
    im.Begin("Grid Snap Settings", wndOpen, im.WindowFlags_NoCollapse)
    im.Begin("Grid Snap Settings", wndOpen, im.WindowFlags_NoCollapse)
    local useLastObject = im.BoolPtr(editor.getPreference("snapping.grid.useLastObjectSelected"))
    if im.Checkbox("Use the last object selected as the reference object", useLastObject) then
@/lua/ge/extensions/editor/missionEditor/layers.lua
    im.PushID1("Layer-"..i)
    local editEnded = im.BoolPtr(false)
    --im.BeginChild1("box", im.ImVec2(width, 50), true, bit.bor(im.WindowFlags_NoScrollWithMouse, im.WindowFlags_NoScrollbar))
@/lua/ge/extensions/editor/rallyEditor/measurementsTab.lua
      -- Follow Route toggle
      local followRoute = im.BoolPtr(selectedMeasurement.followRoute)
      if im.Checkbox("Follow Route", followRoute) then
@/lua/common/extensions/ui/imguiUtils.lua
function M.CreateKeyValApp( window, section, tbl, callback )
  if imgui.Begin(window, imgui.BoolPtr(true), 0) then
    if imgui.TreeNode1(section) then
@/lua/ge/extensions/flowgraph/nodes/ui/imgui/elemental/imBegin.lua

  local bPtr = im.BoolPtr(true)
  local flags = nil
@/lua/ge/extensions/editor/vehicleEditor/staticEditor/veJBeamVariablesChecker.lua

local windowOpen = im.BoolPtr(false)
@/lua/ge/extensions/gameplay/crashTest/scenarioManager.lua
local isDebug = false
local boolTrace = im.BoolPtr(false)
local traceData = {}
@/lua/ge/extensions/editor/sidewalkSpline.lua
              local isEnabled = kit.getPieceEnabled(selSpline, pieceIndex)
              tmpPtr = im.BoolPtr(isEnabled)
              if im.Checkbox("###piece_" .. tostring(pieceIndex), tmpPtr) then
                  local varEnabled = kit.getPieceEnabled(selSpline, variation.varId)
                  local varTmpPtr = im.BoolPtr(varEnabled)
                  if im.Checkbox("###pieceVar_" .. tostring(pieceIndex) .. "_" .. tostring(j), varTmpPtr) then
@/lua/ge/extensions/editor/inspector.lua
    firstObjectFieldValues = {},
    editEnded = imgui.BoolPtr(false),
    inputTextValue = imgui.ArrayChar(valueInspector.inputTextShortStringMaxSize),
  for i = 1, maxGroupCount do
    table.insert(collapseGroups, i, imgui.BoolPtr(false))
  end
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veLightsDebug.lua

local windowOpen = im.BoolPtr(false)

local spotLightDebugEnabled = im.BoolPtr(true)
local pointLightDebugEnabled = im.BoolPtr(true)
local spotLightDebugEnabled = im.BoolPtr(true)
local pointLightDebugEnabled = im.BoolPtr(true)
local zTestEnabled = im.BoolPtr(false)
local pointLightDebugEnabled = im.BoolPtr(true)
local zTestEnabled = im.BoolPtr(false)
local displayNames = im.BoolPtr(true)
local zTestEnabled = im.BoolPtr(false)
local displayNames = im.BoolPtr(true)
local displayAsUnitVectors = im.BoolPtr(false)
local displayNames = im.BoolPtr(true)
local displayAsUnitVectors = im.BoolPtr(false)
@/lua/ge/extensions/editor/rallyEditor.lua

local devToolsWindowOpen = im.BoolPtr(false)
local devTools = nil
local devTools = nil
local rallyToolboxWindowOpen = im.BoolPtr(false)
local rallyToolbox = nil
local rallyToolbox = nil
local rallyLoopToolboxWindowOpen = im.BoolPtr(false)
local rallyLoopToolbox = nil
        local loopLoaded = extensions.isExtensionLoaded('gameplay_rallyLoop')
        local ptr = im.BoolPtr(loopLoaded or false)
        if im.Checkbox('RallyLoop Extension', ptr) then
    end
    rallyToolboxWindowOpen = im.BoolPtr(data.rallyToolboxWindowOpen)
  end
@/lua/ge/extensions/gameplay/rally/tools/devTools.lua

      local showPointsPtr = im.BoolPtr(self.pacenotesTools.showDrivelinePoints)
      if im.Checkbox("Show Driveline in 3D", showPointsPtr) then
      -- Visual debugging toggle
      local showPointsPtr = im.BoolPtr(self.pacenotesTools.showElevationProfilePoints)
      if im.Checkbox("Show Points in 3D", showPointsPtr) then
@/lua/ge/extensions/editor/mapSensorEditor.lua
    im.TextColored(gray, "Note: At least 'High' graphic setting is recommended for quality previews.")
    local ptr = im.BoolPtr(sensor.forceGimbals)
    im.Checkbox("Show gizmo", ptr)
        local oldVal = sensor.renderColours
        local uiVal = im.BoolPtr(oldVal)
        im.Checkbox("Render Color Image", uiVal)
        local oldVal = sensor.renderAnnotations
        local uiVal = im.BoolPtr(oldVal)
        im.Checkbox("Render Class Annotations", uiVal)
        local oldVal = sensor.renderInstance
        local uiVal = im.BoolPtr(oldVal)
        im.Checkbox("Render Instance Annotations", uiVal)
        local oldVal = sensor.renderDepth
        local uiVal = im.BoolPtr(oldVal)
        im.Checkbox("Render Depth Image", uiVal)
        local oldVal = sensor.isVisualised
        local uiVal = im.BoolPtr(oldVal)
        im.Checkbox("Visualise On Map", uiVal)
        local oldVal = sensor.isAnnotated
        local uiVal = im.BoolPtr(oldVal)
        im.Checkbox("Include Segmentation Data", uiVal)
        local oldVal = sensor.isVisualised
        local uiVal = im.BoolPtr(oldVal)
        im.Checkbox("Visualise On Map", uiVal)
        local oldVal = sensor.isVisualised
        local uiVal = im.BoolPtr(oldVal)
        im.Checkbox("Visualise On Map", uiVal)
        local oldVal = sensor.isVisualised
        local uiVal = im.BoolPtr(oldVal)
        im.Checkbox("Visualise On Map", uiVal)
@/lua/ge/extensions/editor/trafficDebug.lua
  local parkingVars = gameplay_parking.getParkingVars()
  local var = im.BoolPtr(gameplay_traffic.debugMode)
  if im.Checkbox("Visual Debug Mode", var) then
  local awareness = trafficVars.aiAware ~= "off" and true or false
  var = im.BoolPtr(awareness)
  if im.Checkbox("AI Awareness", var) then

  var = im.BoolPtr(trafficVars.enableRandomEvents)
  if im.Checkbox("Enable Random Events", var) then

    local enableRespawn = im.BoolPtr(currVeh.enableRespawn)
    if im.Checkbox("Enable respawning", enableRespawn) then

    local enableEntering = im.BoolPtr(obj.playerUsable == nil or obj.playerUsable == true)
    if im.Checkbox("Enable entering", enableEntering) then

    local drawLine = im.BoolPtr(currVeh.debugLine)
    if im.Checkbox("Draw debug line", drawLine) then

    local drawText = im.BoolPtr(currVeh.debugText)
    if im.Checkbox("Draw debug text", drawText) then
@/lua/ge/extensions/editor/rallyEditor/pacenotes/measurementsForm.lua
  if autoEnabled == nil then autoEnabled = true end
  if im.Checkbox("Auto", im.BoolPtr(autoEnabled)) then
    pacenote.intensityVariationAuto = not autoEnabled
@/lua/ge/extensions/gameplay/drag/debug.lua
          end
          local isP = im.BoolPtr(vehicleData.isPlayable)
          im.Checkbox("Is Playable", isP)
@/lua/ge/extensions/editor/vizHelper.lua

local windowOpen = im.BoolPtr(false)
local windowWasOpen = false
local minDistance = im.FloatPtr(0.3)
local dragRotation = im.BoolPtr(true)
local color = im.ArrayFloatByTbl({1, 0, 0, 1})
@/lua/ge/extensions/editor/gen/lib/ui.lua

  local ptr = im.BoolPtr(val) -- im.BoolPtr(env.ui[key])
  im.Text(lbl)

  local ptr = im.BoolPtr(val) -- im.BoolPtr(env.ui[key])
  im.Text(lbl)

  local ptr = im.BoolPtr(env.ui[key])
  im.Text(lbl)
@/lua/ge/extensions/gameplay/rally/tools/rallyToolbox.lua

  boolPtr = im.BoolPtr(self.debug.drawRacePath)
  if im.Checkbox("Pathnodes##debugDrawRacePath", boolPtr) then
  im.SameLine()
  boolPtr = im.BoolPtr(self.debug.drawRaceAiRoute)
  if im.Checkbox("AI Route##debugDrawRaceAiRoute", boolPtr) then
  im.SameLine()
  boolPtr = im.BoolPtr(self.debug.drawRaceSplits)
  if im.Checkbox("Splits##debugDrawRaceSplits", boolPtr) then
  im.SameLine()
  boolPtr = im.BoolPtr(self.debug.drawVehicleTracker)
  if im.Checkbox("Vehicle Tracker##debugDrawVehicleTracker", boolPtr) then

  boolPtr = im.BoolPtr(self.debug.drawStartFinishLines)
  if im.Checkbox("Start and Finish Lines##debugDrawStartFinishLines", boolPtr) then
  im.SameLine()
  boolPtr = im.BoolPtr(self.debug.drawStopZone)
  if im.Checkbox("Stop Zone##debugDrawStopZone", boolPtr) then
  im.Text("Race Debug (status: "..tostring(raceStatus).." | "..tostring(statusMsg)..")")
  boolPtr = im.BoolPtr(self.debug.drawRaceCurrentSeg)
  if im.Checkbox("Current Segment##debugDrawRaceCurrentSeg", boolPtr) then

  boolPtr = im.BoolPtr(self.debug.drawNotebookPacenotes)
  if im.Checkbox("Pacenotes##debugDrawNotebookPacenotes", boolPtr) then
  im.SameLine()
  boolPtr = im.BoolPtr(self.debug.drawReccePacenotes)
  if im.Checkbox("Recce Pacenotes##debugDrawReccePacenotes", boolPtr) then

  boolPtr = im.BoolPtr(self.debug.drawDrivelineRoute)
  if im.Checkbox("Route##debugDrawDrivelineRoute", boolPtr) then
  im.SameLine()
  boolPtr = im.BoolPtr(self.debug.drawDrivelineRouteStatic)
  if im.Checkbox("StaticRoute##debugDrawDrivelineRouteStatic", boolPtr) then

  boolPtr = im.BoolPtr(self.debug.drawRouteShort)
  if im.Checkbox("Short##debugDrawRouteShort", boolPtr) then

  -- boolPtr = im.BoolPtr(self.debug.drawPreRoutePoints)
  -- local shouldBeDisabled = not rm or not rm.drivelineRoute or not rm.drivelineRoute.preRoutePoints

  boolPtr = im.BoolPtr(self.debug.drawRouteCompletion)
  if im.Checkbox("Completion %##debugDrawRouteCompletion", boolPtr) then

  boolPtr = im.BoolPtr(self.debug.drawRoutePacenotes)
  if im.Checkbox("Pacenotes##debugDrawRoutePacenotes", boolPtr) then

  boolPtr = im.BoolPtr(self.debug.drawRoutePacenoteText)
  if im.Checkbox("Pacenote Text##debugDrawRoutePacenoteText", boolPtr) then

  boolPtr = im.BoolPtr(self.debug.drawRouteNextPacenoteWpFromRecalc)
  if im.Checkbox("Next PacenoteWaypoint##debugDrawRouteNextPacenoteWp", boolPtr) then

  boolPtr = im.BoolPtr(self.debug.drawRouteNextRacePathnodeFromRecalc)
  if im.Checkbox("Next Race Pathnode##debugDrawRouteNextRacePathnode", boolPtr) then

  boolPtr = im.BoolPtr(self.debug.drawRoutePathnodes)
  if im.Checkbox("Pathnodes##debugDrawRoutePathnodes", boolPtr) then

  boolPtr = im.BoolPtr(self.debug.drawRouteHiddenPathnodes)
  if im.Checkbox("Hidden Pathnodes##debugDrawRouteHiddenPathnodes", boolPtr) then

  boolPtr = im.BoolPtr(self.debug.drawRoutePointI)
  if im.Checkbox("Point Index##debugDrawRoutePointI", boolPtr) then

  boolPtr = im.BoolPtr(self.debug.drawRoutePointMetadata)
  if im.Checkbox("Point Metadata##debugDrawRoutePointMetadata", boolPtr) then

  -- boolPtr = im.BoolPtr(self.debug.drawRecceDrivelinePoints)
  -- if im.Checkbox("Recce Driveline Points##debugDrawRecceDrivelinePoints", boolPtr) then

    boolPtr = im.BoolPtr(self.debug.drawSelectedWaypoint)
    if im.Checkbox("PacenoteWaypoint & Closest Segment##debugDrawSelectedWaypoint", boolPtr) then

    boolPtr = im.BoolPtr(self.debug.drawKdTreeClosestRoutePoint)
    if im.Checkbox("Closest Route Point##debugDrawKdTreeClosestRoutePoint", boolPtr) then
    im.SameLine()
    boolPtr = im.BoolPtr(self.debug.drawKdTreeNextPacenoteWp)
    if im.Checkbox("Next Pacenote Waypoint##debugDrawKdTreeNextPacenoteWp", boolPtr) then
  if im.CollapsingHeader1("Use Mouse as Vehicle", im.TreeNodeFlags_DefaultClosed) then
    boolPtr = im.BoolPtr(self.debug.useMouseRayCast)
    if im.Checkbox("Use Mouse Ray Cast##debugUseMouseRayCast", boolPtr) then
    im.SameLine()
    boolPtr = im.BoolPtr(self.debug.enableMouseRayCastMovement)
    if im.Checkbox("Enable Mouse Ray Cast Movement##debugEnableMouseRayCastMovement", boolPtr) then
@/lua/ge/extensions/editor/raceEditor/pacenotes.lua
      im.BeginChild1("self.indexInner", im.ImVec2(0, 0), im.WindowFlags_ChildWindow)
      local editEnded = im.BoolPtr(false)
      editor.uiInputText("Name", nameText, nil, nil, nil, nil, editEnded)

      editEnded = im.BoolPtr(false)
      editor.uiInputText("Note", noteText, nil, nil, nil, nil, editEnded)
@/lua/ge/extensions/editor/flowgraph/main.lua
local winPos
local showMenu =  im.BoolPtr(false)
local deltaYSum = 0
            im.SameLine()
            local setHide = im.BoolPtr(editor.getPreference("flowgraph.general.minimizeFlowgraphWhenRunning"))
            if im.Checkbox("Use Monitor", setHide) then
@/lua/ge/extensions/editor/drivePathEditor.lua
    -- 'Drive In Lane' checkbox.
    tmpPtr = im.BoolPtr(selSpline.isDriveInLane)
    if im.Checkbox("Drive In Lane", tmpPtr) then
    -- 'Avoid Cars' checkbox.
    tmpPtr = im.BoolPtr(selSpline.isAvoidCars)
    if im.Checkbox("Avoid Cars", tmpPtr) then
@/lua/ge/extensions/editor/raceEditor.lua

local raceTestWindowOpen = im.BoolPtr(false)
local mouseInfo = {}
      if im.BeginMenu("Preferences") then
        local ptr = im.BoolPtr(editor.getPreference("raceEditor.general.directionalNodes"))
        if im.Checkbox('Directional Nodes', ptr) then
        im.tooltip("Created pathnodes have a direction or not.")
        local ptr2 = im.BoolPtr(editor.getPreference("raceEditor.general.showAiRoute") or false)
        if im.Checkbox('Show AI Route', ptr2) then
        end
        local ptr3 = im.BoolPtr(editor.getPreference("raceEditor.general.showCustomFields") or false)
        if im.Checkbox('Show Custom Fields', ptr3) then
        im.tooltip("Previews the AI Route for this racepath.")
        local ptr4 = im.BoolPtr(editor.getPreference("raceEditor.general.useSimpleDrag") or false)
        if im.Checkbox('Use Simple Drag', ptr4) then
@/lua/ge/extensions/editor/missionEditor/progressSingle.lua
  self.tabName = "Progress Single"
  self.rawCheckbox = im.BoolPtr(false)
end
      im.SameLine()
      im.Checkbox(dumps(star.label.txt), im.BoolPtr(star.unlocked))
      im.PopID()
@/lua/ge/extensions/editor/api/gui.lua
local canvasObject
local dockOpen = imgui.BoolPtr(true)
local windowsState = {}
  if not fileDialogContexts[label] then
    fileDialogContexts[label] = imgui.BoolPtr(false)
  end
  {
    visible = imgui.BoolPtr(prevVis),
    backupVisible = prevVis, -- used to check if window was closed by X, to trigger window close hook
  for key, val in pairs(windowsState) do
    val.visible = imgui.BoolPtr(val.isVisible or false)
    if val.defaultWindowSize and val.defaultWindowSize.x and val.defaultWindowSize.y then

local tempBoolPtr = imgui.BoolPtr(false)
local tempIntPtr = imgui.IntPtr(0)
@/lua/ge/extensions/gameplay/rally/tools/loopToolbox.lua
  self.selectedMissionId = nil
  self.drawRoute = im.BoolPtr(true)
  self.drawLabels = im.BoolPtr(false)
  self.drawRoute = im.BoolPtr(true)
  self.drawLabels = im.BoolPtr(false)
  self.drawZOnTop = im.BoolPtr(true)
  self.drawLabels = im.BoolPtr(false)
  self.drawZOnTop = im.BoolPtr(true)
  self.drawSignboards = im.BoolPtr(false)
  self.drawZOnTop = im.BoolPtr(true)
  self.drawSignboards = im.BoolPtr(false)
  self.drawVehBB = im.BoolPtr(false)
  self.drawSignboards = im.BoolPtr(false)
  self.drawVehBB = im.BoolPtr(false)
  self.drawLeadingPoint = im.BoolPtr(false)
  self.drawVehBB = im.BoolPtr(false)
  self.drawLeadingPoint = im.BoolPtr(false)
  self.drawStopZones = im.BoolPtr(false)
  self.drawLeadingPoint = im.BoolPtr(false)
  self.drawStopZones = im.BoolPtr(false)
  self.showDebugInfo = im.BoolPtr(false)
  self.drawStopZones = im.BoolPtr(false)
  self.showDebugInfo = im.BoolPtr(false)
  self.signboards = {}
  -- Test mode
  self.testModeEnabled = im.BoolPtr(false)
  self.testActiveStateIndex = im.IntPtr(0) -- 0=inactive, 1=vehicleProximity, 2=stageActive, 3=countdown
@/lua/ge/extensions/editor/sceneTree.lua
local nameFilterText = ""
local editEnded = imgui.BoolPtr(false)
local comboIndex = imgui.IntPtr(0)
@/lua/ge/extensions/editor/missionEditor/progressMulti.lua
  self.tabName = "Progress Multi"
  self.rawCheckbox = im.BoolPtr(false)
end
@/lua/ge/extensions/editor/sitesEditor/sortedListDisplay.lua
      local o = self.objects[self.index]
      local editEnded = im.BoolPtr(false)
      if disabled then
      end
      editEnded = im.BoolPtr(false)
      editor.uiColorEdit3("Color", self.color, nil, editEnded)
      end
      local editEnded = im.BoolPtr(false)
      editor.uiInputText(name, self.fields[name], nil, nil, nil, nil, editEnded)
      end
      local editEnded = im.BoolPtr(false)
      editor.uiInputFloat(name, self.fields[name], nil, nil, nil, nil, editEnded)
      end
      local editEnded = im.BoolPtr(false)
      editor.uiInputFloat3(name, self.fields[name], nil, nil, editEnded)
@/lua/ge/extensions/editor/objectToSplineEditor.lua
local objLimit = im.IntPtr(500)
local useNormal = im.BoolPtr(true)
local useAltMode = im.BoolPtr(false)
local useNormal = im.BoolPtr(true)
local useAltMode = im.BoolPtr(false)
local useSimGroup = im.BoolPtr(false)
local useAltMode = im.BoolPtr(false)
local useSimGroup = im.BoolPtr(false)

local allowRandom = im.BoolPtr(false)
local maxRandomGap = im.FloatPtr(0)
local randomRotOffset = im.FloatPtr(0)
local useRandomPosZ = im.BoolPtr(false)
local useRandomRotXY = im.BoolPtr(false)
local useRandomPosZ = im.BoolPtr(false)
local useRandomRotXY = im.BoolPtr(false)
local useGauss = im.BoolPtr(false)
local useRandomRotXY = im.BoolPtr(false)
local useGauss = im.BoolPtr(false)
@/lua/ge/extensions/editor/crawlEditor/waypoints.lua
  local pathnodeNameText = im.ArrayChar(256, pathnode.name or "")
  local editEnded = im.BoolPtr(false)
  editor.uiInputText("Name", pathnodeNameText, nil, nil, nil, nil, editEnded)

  local isRecovery = im.BoolPtr(pathnode.isRecovery or false)
  if im.Checkbox("Is Recovery Point", isRecovery) then
      if not self.fields[name] then self.fields[name] = im.ArrayChar(4096, fields.values[name]) end
      local editEnded = im.BoolPtr(false)
      editor.uiInputText(name, self.fields[name], nil, nil, nil, nil, editEnded)

      local editEnded = im.BoolPtr(false)
      editor.uiInputFloat(name, self.fields[name], nil, nil, nil, nil, editEnded)
      end
      local editEnded = im.BoolPtr(false)
      editor.uiInputFloat3(name, self.fields[name], nil, nil, editEnded)
@/lua/ge/extensions/editor/util/editorElementHelper.lua
  defaultValue = defaultValue or false
  local elem = self:addElement({type = 'bool', label = label, fieldName = fieldName, defaultValue = defaultValue, ptr = im.BoolPtr(defaultValue) , displayOptions = displayOptions})

  editEnded = im.BoolPtr(false)
  for index, element in ipairs(self.elements) do
@/lua/ge/extensions/editor/missionEditor/additionalAttributes.lua
  im.SetColumnWidth(0,150)
  local editEnded = im.BoolPtr(false)

  editEnded = im.BoolPtr(false)
  im.Text("Author")

  editEnded = im.BoolPtr(false)
  im.Text("Date")
  im.NextColumn()
  if im.Checkbox("Is Available as Scenario", im.BoolPtr(self.mission.isAvailableAsScenario or false)) then
    self.mission.isAvailableAsScenario = not self.mission.isAvailableAsScenario
  im.NextColumn()
  if im.Checkbox("DEV mission", im.BoolPtr(self.mission.devMission or false)) then
    self.mission.devMission = not self.mission.devMission

  editEnded = im.BoolPtr(false)
  im.Text("Group Id")
  im.NextColumn()
  editEnded = im.BoolPtr(false)
  im.PushItemWidth(im.GetContentRegionAvailWidth() - 35)
  im.NextColumn()
  editEnded = im.BoolPtr(false)
  im.PushItemWidth(im.GetContentRegionAvailWidth() - 35)
    end
    local editEnded = im.BoolPtr(false)
    im.Text("After: ")
@/lua/ge/extensions/career/modules/linearTutorial.lua
        local folder = file[1]
        if im.Checkbox("##Seen " .. folder, im.BoolPtr(M.getTutorialFlag(folder) or false)) then
          M.setTutorialFlag(folder, not M.getTutorialFlag(folder))
@/lua/ge/extensions/editor/roadSpline.lua
      -- Master 'Over Objects' checkbox.
      local tmpPtr = im.BoolPtr(selGroup.isOverObjects or false)
      if im.Checkbox("Over Objects", tmpPtr) then
          -- 'Include Light Tread Marks' checkbox.
          local tmpPtr = im.BoolPtr(selGroup.isLightTreadMarks)
          if im.Checkbox("Light", tmpPtr) then
          -- 'Include Heavy Tread Marks' checkbox.
          tmpPtr = im.BoolPtr(selGroup.isHeavyTreadMarks)
          if im.Checkbox("Heavy", tmpPtr) then
          -- 'Include Repair 1' checkbox.
          tmpPtr = im.BoolPtr(selGroup.isRepair1)
          if im.Checkbox("Fix 1", tmpPtr) then
          -- 'Include Repair 2' checkbox.
          tmpPtr = im.BoolPtr(selGroup.isRepair2)
          if im.Checkbox("Fix 2", tmpPtr) then
          -- 'Include Road Damage Asphalt 1' checkbox.
          tmpPtr = im.BoolPtr(selGroup.isDamageAsphalt1)
          if im.Checkbox("Wear 1", tmpPtr) then
          -- 'Include Road Damage Asphalt 2' checkbox.
          tmpPtr = im.BoolPtr(selGroup.isDamageAsphalt2)
          if im.Checkbox("Wear 2", tmpPtr) then
          -- 'Include Patches' checkbox.
          tmpPtr = im.BoolPtr(selGroup.isPatches)
          if im.Checkbox("Patches", tmpPtr) then
          -- 'Include Road Crack' checkbox.
          tmpPtr = im.BoolPtr(selGroup.isRoadCrack)
          if im.Checkbox("Cracks", tmpPtr) then
            -- 'Flip Laterally' checkbox.
            local tmpPtr2 = im.BoolPtr(selectedLayer.isFlip)
            if im.Checkbox("Flip Lateral", tmpPtr2) then
            -- 'Track Width' checkbox.
            tmpPtr2 = im.BoolPtr(selectedLayer.isTrackWidth)
            if im.Checkbox("Track Width", tmpPtr2) then
@/lua/ge/extensions/editor/missionEditor/progressSetup.lua
  self.progressSetup = {}
  self.rawCheckbox = im.BoolPtr(false)
end
@/lua/common/extensions/ui/flowgraph/editor.lua
  elseif variable.type == 'bool' then
    local imVal = im.BoolPtr(false)
    if displayOptions.allowEditing then
        if editor.getPreference("flowgraph.debug.editorDebug") then
          local fixedTypeBool = im.BoolPtr(variable.fixedType or false)
          if im.Checkbox("##fix" .. name, fixedTypeBool) then
        im.SameLine()
        local monitor = im.BoolPtr(variable.monitored or false)
        if im.Checkbox("##monitor" .. name, monitor) then
        im.SameLine()
        local stop = im.BoolPtr(variable.keepAfterStop or false)
        if im.Checkbox("##keepAfterStop" .. name, stop) then
@/lua/ge/extensions/editor/missionEditor/previewChecker.lua
  local alwaysShowScreenshots = editor.getPreference("missionEditor.general.alwaysShowScreenshots") or false
  if im.Checkbox('Always show Preview', im.BoolPtr(alwaysShowScreenshots)) then
    alwaysShowScreenshots = not alwaysShowScreenshots
@/lua/ge/extensions/editor/crawlEditor/trails.lua
local lastTrail = nil
local editEnded = im.BoolPtr(false)
  self.rules = im.ArrayChar(1024, trail.rules.description or "")
  self.pathReversed = im.BoolPtr(trail.pathReversed or false)
  self.thumbnail = im.ArrayChar(512, trail.thumbnail or "")
  self.preview = im.ArrayChar(512, trail.preview or "")
  self.isFromMission = im.BoolPtr(trail.isFromMission or false)
  self.missionName = im.ArrayChar(256, trail._fileName or "")
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veVehicleSpawner.lua

local windowOpen = im.BoolPtr(false)

local vehSelectorWndOpen = im.BoolPtr(false)
@/lua/ge/extensions/editor/techServerManager.lua
  ip = im.ArrayChar(40, '127.0.0.1'),
  allInterfaces = im.BoolPtr(false),
  port = im.IntPtr(0),
@/lua/ge/extensions/editor/roadTemplateEditor.lua

local templateDialogOpen = im.BoolPtr(false)
local decalRoads = {}
local saveName = im.ArrayChar(30)
local saveDialog = im.BoolPtr(false)
local decalRoadSelectionIndex = im.IntPtr(0)
@/lua/ge/extensions/editor/scriptAIEditor.lua
  windowPos = im.ImVec2(1000, 10),
  isLooping = im.BoolPtr(false),
  manualT = im.FloatPtr(30.0),
  manualT = im.FloatPtr(30.0),
  isDispInExe = im.BoolPtr(true),
  isOverlay = im.BoolPtr(true)
  isDispInExe = im.BoolPtr(true),
  isOverlay = im.BoolPtr(true)
}
  col = im.ArrayFloat(3),
  isRigidTranslation = im.BoolPtr(false),
  isDisplay = im.BoolPtr(true),
  isRigidTranslation = im.BoolPtr(false),
  isDisplay = im.BoolPtr(true),
  isOnExecute = im.BoolPtr(false)
  isDisplay = im.BoolPtr(true),
  isOnExecute = im.BoolPtr(false)
}
      smoothness = im.FloatPtr(n.smoothness),
      movingStart = im.BoolPtr(n.movingStart), movingEnd = im.BoolPtr(n.movingEnd),
      isLocked = n.isLocked }
      smoothness = im.FloatPtr(n.smoothness),
      movingStart = im.BoolPtr(n.movingStart), movingEnd = im.BoolPtr(n.movingEnd),
      isLocked = n.isLocked }
    polyLine = p, spline = s,
    isExternalForce = im.BoolPtr(tr.isExternalForce),
    isHoldVelocity = im.BoolPtr(tr.isHoldVelocity),
    isExternalForce = im.BoolPtr(tr.isExternalForce),
    isHoldVelocity = im.BoolPtr(tr.isHoldVelocity),
    isMarkNodes = im.BoolPtr(tr.isMarkNodes), isMarkVelocities = im.BoolPtr(tr.isMarkVelocities), isDisplay = im.BoolPtr(tr.isDisplay),
    isHoldVelocity = im.BoolPtr(tr.isHoldVelocity),
    isMarkNodes = im.BoolPtr(tr.isMarkNodes), isMarkVelocities = im.BoolPtr(tr.isMarkVelocities), isDisplay = im.BoolPtr(tr.isDisplay),
    col = col,
    isHoldVelocity = im.BoolPtr(tr.isHoldVelocity),
    isMarkNodes = im.BoolPtr(tr.isMarkNodes), isMarkVelocities = im.BoolPtr(tr.isMarkVelocities), isDisplay = im.BoolPtr(tr.isDisplay),
    col = col,
    isHoldVelocity = im.BoolPtr(tr.isHoldVelocity),
    isMarkNodes = im.BoolPtr(tr.isMarkNodes), isMarkVelocities = im.BoolPtr(tr.isMarkVelocities), isDisplay = im.BoolPtr(tr.isDisplay),
    col = col,
    fieldRange = im.FloatPtr(tr.fieldRange),
    isUseRigidTranslation = im.BoolPtr(tr.isUseRigidTranslation),
    splineSpacing = im.IntPtr(tr.splineSpacing), isUseSpline = im.BoolPtr(tr.isUseSpline),
    isUseRigidTranslation = im.BoolPtr(tr.isUseRigidTranslation),
    splineSpacing = im.IntPtr(tr.splineSpacing), isUseSpline = im.BoolPtr(tr.isUseSpline),
    boxPos = tr.boxPos,
      smoothness = im.FloatPtr(n.smoothness),
      movingStart = im.BoolPtr(n.movingStart), movingEnd = im.BoolPtr(n.movingEnd),
      isLocked = n.isLocked }
      smoothness = im.FloatPtr(n.smoothness),
      movingStart = im.BoolPtr(n.movingStart), movingEnd = im.BoolPtr(n.movingEnd),
      isLocked = n.isLocked }
  cwd.col = col
  cwd.isDisplay = im.BoolPtr(data.isDisplay)
  cwd.isOnExecute = im.BoolPtr(data.isOnExecute)
  cwd.isDisplay = im.BoolPtr(data.isDisplay)
  cwd.isOnExecute = im.BoolPtr(data.isOnExecute)
end
  end
  local ef = im.BoolPtr(true)                                                     -- Set the external force flag (for AI assistance).
  if externalForce ~= nil then
  if externalForce ~= nil then
    ef = im.BoolPtr(externalForce)
  end
    polyLine = nodes, spline = nil,
    isUseSpline = im.BoolPtr(false),
    isExternalForce = ef,
    isExternalForce = ef,
    isDisplay = im.BoolPtr(true), isMarkNodes = im.BoolPtr(false),
    isMarkVelocities = im.BoolPtr(false),
    isExternalForce = ef,
    isDisplay = im.BoolPtr(true), isMarkNodes = im.BoolPtr(false),
    isMarkVelocities = im.BoolPtr(false),
    isDisplay = im.BoolPtr(true), isMarkNodes = im.BoolPtr(false),
    isMarkVelocities = im.BoolPtr(false),
    isHoldVelocity = im.BoolPtr(true),
    isMarkVelocities = im.BoolPtr(false),
    isHoldVelocity = im.BoolPtr(true),
    col = c,
    fieldRange = im.FloatPtr(0.5),
    isUseRigidTranslation = im.BoolPtr(false),
    splineSpacing = im.IntPtr(5),
          smoothness = im.FloatPtr(0.5),
          movingStart = im.BoolPtr(true), movingEnd = im.BoolPtr(true),
          isLocked = false }
          smoothness = im.FloatPtr(0.5),
          movingStart = im.BoolPtr(true), movingEnd = im.BoolPtr(true),
          isLocked = false }
            smoothness = im.FloatPtr(0.5),
            movingStart = im.BoolPtr(true), movingEnd = im.BoolPtr(true),
            isLocked = false }
            smoothness = im.FloatPtr(0.5),
            movingStart = im.BoolPtr(true), movingEnd = im.BoolPtr(true),
            isLocked = false }
@/lua/ge/extensions/editor/decalEditor.lua

    local positionSliderEditEnded = im.BoolPtr(false)
    im.PushItemWidth(im.GetContentRegionAvailWidth())
@/lua/ge/extensions/editor/renderTest.lua
local vecUp = vec3(0, 0, 1)
local ortho = im.BoolPtr(true)
local renderMain = im.BoolPtr(true)
local ortho = im.BoolPtr(true)
local renderMain = im.BoolPtr(true)
local attachToObject = im.BoolPtr(true)
local renderMain = im.BoolPtr(true)
local attachToObject = im.BoolPtr(true)
local nearClip = im.FloatPtr(12)
@/lua/ge/extensions/editor/rallyEditor/pacenotes/pacenoteForm.lua

  local editEnded = im.BoolPtr(false)
  -- local freeformBefore = im.ArrayChar(1024, pacenote:getNoteFieldBefore())

  -- local editEnded = im.BoolPtr(false)
  -- language_form_fields[language] = language_form_fields[language] or {}

  if im.Checkbox("Slow Corner", im.BoolPtr(pacenote.slowCorner)) then
    pacenote:toggleSlowCorner()

  if im.Checkbox("Reset Odometer", im.BoolPtr(not pacenote.isolate)) then
    pacenote:toggleIsolate()

  if im.Checkbox("Ignore Distance Calls", im.BoolPtr(pacenote.ignoreDistanceCalls)) then
    pacenote:toggleIgnoreDistanceCalls()

  -- local editEnded = im.BoolPtr(false)
  -- local playbackRulesText = im.ArrayChar(1024, pacenote.playback_rules or "")
@/lua/ge/extensions/editor/gen/ui.lua

  local ptr = im.BoolPtr(env.ui[key])
  im.Text(lbl)
						im.TextColored(colorNav, 'Middle Line:')
						local middleYellow = im.BoolPtr(D.ui.middleYellow)
						local middleDashed = im.BoolPtr(D.ui.middleDashed)
						local middleYellow = im.BoolPtr(D.ui.middleYellow)
						local middleDashed = im.BoolPtr(D.ui.middleDashed)
		--                local oldVal = roadMgr.middleYellow[0]
@/lua/ge/extensions/editor/api/core.lua
    for name, _ in pairs(editor.dirtyTools) do
      if imgui.Checkbox(name, imgui.BoolPtr(dirtyToolsSaveInfo[name])) then
        dirtyToolsSaveInfo[name] = not dirtyToolsSaveInfo[name]
@/lua/ge/extensions/editor/vehicleEditor/staticEditor/vePartTree.lua

local viewRawData = im.BoolPtr(false)
@/lua/ge/extensions/core/vehicle/inplaceEdit.lua

local windowOpen = im.BoolPtr(false)
@/lua/ge/extensions/editor/tech/roadArchitect/groups.lua
    local rCopy = roadMgr.copyRoad(r)
    rCopy.isDisplayNodeSpheres = im.BoolPtr(false)
    rCopy.isDisplayRoadOutline = im.BoolPtr(true)
    rCopy.isDisplayNodeSpheres = im.BoolPtr(false)
    rCopy.isDisplayRoadOutline = im.BoolPtr(true)
    rCopy.isDisplayRefLine = im.BoolPtr(true)
    rCopy.isDisplayRoadOutline = im.BoolPtr(true)
    rCopy.isDisplayRefLine = im.BoolPtr(true)
    rCopy.isDisplayLaneInfo = im.BoolPtr(true)
    rCopy.isDisplayRefLine = im.BoolPtr(true)
    rCopy.isDisplayLaneInfo = im.BoolPtr(true)
    rCopy.isConformRoadToTerrain = im.BoolPtr(false)
    rCopy.isDisplayLaneInfo = im.BoolPtr(true)
    rCopy.isConformRoadToTerrain = im.BoolPtr(false)
    rCopy.isHidden = true
    rCopy.name, rCopy.isHidden = idNew, false
    rCopy.isConformRoadToTerrain = im.BoolPtr(isConformGroupToTerrain)
    roads[ctr] = rCopy
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veNodeTriSelfCollisionDetector.lua

local windowOpen = im.BoolPtr(false)
@/lua/ge/extensions/editor/rallyEditor/pacenotes/customForm.lua

  local editEnded = im.BoolPtr(false)
  local audioFileText = im.ArrayChar(1024, pacenote:getCustomAudioFile() or "")
@/lua/ge/extensions/flowgraph/nodes/types/color.lua
  if self.mode == "custom" then
    local editEnded = im.BoolPtr(false)
    if not self.colorData then
@/lua/ge/extensions/flowgraph/nodes/debug/comment.lua
  self.moveMode = "withoutNodes"
  self.simple = im.BoolPtr(false)
end
  self.commentText = string.gsub(nodeData.commentText or "", "\\n", "\n") or ""
  self.simple = im.BoolPtr(nodeData.simple or false)
  self.moveMode = nodeData.moveMode or "withoutNodes"
@/lua/ge/extensions/editor/assemblySpline.lua
                  -- Non-root mesh - show checkbox.
                  tmpPtr = im.BoolPtr(mol.getRigidEnabled(selSpline, mesh.id))
                  if im.Checkbox("###rigid" .. tostring(49925 + rigidIdx), tmpPtr) then
                  -- All variations (including root variations) have enable/disable checkboxes.
                  local varTmpPtr = im.BoolPtr(mol.getRigidEnabled(selSpline, variation.id))
                  if im.Checkbox("###rigidVar" .. tostring(49925 + rigidIdx) .. "_" .. tostring(j), varTmpPtr) then
                local mesh = bridge.mesh
                tmpPtr = im.BoolPtr(mol.getBridgeEnabled(selSpline, mesh.id))
                if im.Checkbox("###bridge" .. tostring(49925 + i), tmpPtr) then
                for j, variation in ipairs(variations) do
                  local varTmpPtr = im.BoolPtr(mol.getBridgeEnabled(selSpline, variation.id))
                  if im.Checkbox("###bridgeVar" .. tostring(49925 + i) .. "_" .. tostring(j), varTmpPtr) then
@/lua/ge/extensions/editor/imguiCDemo.lua

local windowOpen = ui_imgui.BoolPtr(false)
@/lua/ge/extensions/editor/sensorConfigurationEditor.lua
  im.TextColored(gray, "Note: At least 'High' graphic setting is recommended for quality previews.")
  local ptr = im.BoolPtr(sensor.forceGimbals)
  im.Checkbox("Show gizmo", ptr)
        local oldVal = sensor.renderColours
        local uiVal = im.BoolPtr(oldVal)
        im.Checkbox("Render Color Image", uiVal)
        local oldVal = sensor.renderAnnotations
        local uiVal = im.BoolPtr(oldVal)
        im.Checkbox("Render Class Annotations", uiVal)
        local oldVal = sensor.renderInstance
        local uiVal = im.BoolPtr(oldVal)
        im.Checkbox("Render Instance Annotations", uiVal)
        local oldVal = sensor.renderDepth
        local uiVal = im.BoolPtr(oldVal)
        im.Checkbox("Render Depth Image", uiVal)
        local oldVal = sensor.isVisualised
        local uiVal = im.BoolPtr(oldVal)
        im.Checkbox("Visualise On Map", uiVal)
        local oldVal = sensor.isSnappingDesired
        local uiVal = im.BoolPtr(oldVal)
        im.Checkbox("Snap To Vehicle", uiVal)
        local oldVal = sensor.isAnnotated
        local uiVal = im.BoolPtr(oldVal)
        im.Checkbox("Include Segmentation Data", uiVal)
        local oldVal = sensor.isVisualised
        local uiVal = im.BoolPtr(oldVal)
        im.Checkbox("Visualise On Map", uiVal)
        local oldVal = sensor.isSnappingDesired
        local uiVal = im.BoolPtr(oldVal)
        im.Checkbox("Snap To Vehicle", uiVal)
        local oldVal = sensor.isVisualised
        local uiVal = im.BoolPtr(oldVal)
        im.Checkbox("Visualise On Map", uiVal)
        local oldVal = sensor.isSnappingDesired
        local uiVal = im.BoolPtr(oldVal)
        im.Checkbox("Snap To Vehicle", uiVal)
        local oldVal = sensor.isVisualised
        local uiVal = im.BoolPtr(oldVal)
        im.Checkbox("Visualise On Map", uiVal)
        local oldVal = sensor.isSnappingDesired
        local uiVal = im.BoolPtr(oldVal)
        im.Checkbox("Snap To Vehicle", uiVal)
        local oldVal = sensor.isUsingGravity
        local uiVal = im.BoolPtr(oldVal)
        im.Checkbox("Include Gravity", uiVal)
        local oldVal = sensor.isVisualised
        local uiVal = im.BoolPtr(oldVal)
        im.Checkbox("Visualise On Map", uiVal)
        local oldVal = sensor.isSnappingDesired
        local uiVal = im.BoolPtr(oldVal)
        im.Checkbox("Snap To Vehicle", uiVal)
        local oldVal = sensor.isAllowWheelNodes
        local uiVal = im.BoolPtr(oldVal)
        im.Checkbox("Allow Wheel Nodes (On Snap)", uiVal)
        local oldVal = sensor.isVisualised
        local uiVal = im.BoolPtr(oldVal)
        im.Checkbox("Visualise On Map", uiVal)
        local oldVal = sensor.isSnappingDesired
        local uiVal = im.BoolPtr(oldVal)
        im.Checkbox("Snap To Vehicle", uiVal)
        local oldVal = sensor.isAllowWheelNodes
        local uiVal = im.BoolPtr(oldVal)
        im.Checkbox("Allow Wheel Nodes (On Snap)", uiVal)
@/lua/ge/extensions/flowgraph/nodes/ui/imgui/imSimpleBox.lua
function C:work()
  im.Begin((self.pinIn.title.value or "Title") ..'##'.. tostring(self.id), im.BoolPtr(true))
  im.Text((self.pinIn.text.value or "Text"))
@/lua/ge/extensions/editor/terrainEditor.lua
}
terrainImpExp.applyTransform = im.BoolPtr(false)
-- change values based on terrain size
}
terrainImpExp.flipYAxis = im.BoolPtr(false)

local tempBoolPtr = im.BoolPtr(false)
local tempIntPtr = im.IntPtr(0)
  mtlProxyCopy.diffuseSizeInput = im.FloatPtr(mtlProxyCopy.diffuseSize)
  mtlProxyCopy.useSideProjectionInput = im.BoolPtr(mtlProxyCopy.useSideProjection)
  mtlProxyCopy.macroStrengthInput = im.FloatPtr(mtlProxyCopy.macroStrength)
local function brushSettingsSlider_common()
  local editEndedBrushSize = im.BoolPtr(false)
  local editEndedBrushPressure = im.BoolPtr(false)
  local editEndedBrushSize = im.BoolPtr(false)
  local editEndedBrushPressure = im.BoolPtr(false)
local function brushSettingsSlider_sculpting()
  local editEndedBrushSoftness = im.BoolPtr(false)
  local editEndedBrushHeight = im.BoolPtr(false)
  local editEndedBrushSoftness = im.BoolPtr(false)
  local editEndedBrushHeight = im.BoolPtr(false)
local function brushSettingsSlider_painting()
  local editEndedBrushSlopeMaskMin = im.BoolPtr(false)
  local editEndedBrushSlopeMaskMax = im.BoolPtr(false)
  local editEndedBrushSlopeMaskMin = im.BoolPtr(false)
  local editEndedBrushSlopeMaskMax = im.BoolPtr(false)
@/lua/ge/extensions/editor/perfProfiler.lua
        im.BeginChild1(result.id.."child", im.ImVec2(im.GetContentRegionAvailWidth(), 22 * editor.getPreference("ui.general.scale") + 2))
        if im.Checkbox("##cba" .. result.id, im.BoolPtr(columns[result.id].enabled or false)) then
          columns[result.id].enabled = not columns[result.id].enabled
        im.BeginChild1(i.."child", im.ImVec2(im.GetContentRegionAvailWidth(), 22 * editor.getPreference("ui.general.scale") + 2))
        if im.Checkbox("##cbaa" .. i, im.BoolPtr(column.enabled or false)) then
          column.enabled = not column.enabled
      for i, file in ipairs(allFiles) do
        if im.Checkbox('##'..file.meta.name.."enable"..i, im.BoolPtr(file.enabled)) then
          file.enabled = not file.enabled
      for i, file in ipairs(allFiles) do
        if im.Checkbox('##'..file.meta.name.."enable"..i, im.BoolPtr(file.enabled)) then
          file.enabled = not file.enabled
@/lua/ge/extensions/editor/aiTests.lua
local options = {
  ignoreOneWay = im.BoolPtr(false),
  routeDetails = im.BoolPtr(false),
  ignoreOneWay = im.BoolPtr(false),
  routeDetails = im.BoolPtr(false),
  trackPlayerRoute = im.BoolPtr(false),
  routeDetails = im.BoolPtr(false),
  trackPlayerRoute = im.BoolPtr(false),
  useCurrentRoute = im.BoolPtr(true),
  trackPlayerRoute = im.BoolPtr(false),
  useCurrentRoute = im.BoolPtr(true),
  dynamicCollisions = im.BoolPtr(true),
  useCurrentRoute = im.BoolPtr(true),
  dynamicCollisions = im.BoolPtr(true),
  aiDebug = im.BoolPtr(false)
  dynamicCollisions = im.BoolPtr(true),
  aiDebug = im.BoolPtr(false)
}
  staticFrictionCoefMult = {im.FloatPtr(0.95), 0.75, 2}
  --driveInLane = {im.BoolPtr(false)}
}
local function tabParams() -- debug AI parameters
  local editEnded = im.BoolPtr(false)
@/lua/ge/extensions/flowgraph/nodes/ui/imgui/imDialogue.lua
  if self.open then
    im.Begin((self.pinIn.title.value or "Title") .. '##' .. tostring(self.id), im.BoolPtr(true))
    im.PushTextWrapPos(im.GetCursorPosX() + (self.data.wrapSize or 500))
@/lua/ge/extensions/editor/forestEditor.lua
    im.PushItemWidth(im.GetContentRegionAvailWidth())
    local editEnded = im.BoolPtr(false)
    local scaleFL = im.FloatPtr(item:getScale())
      im.SetNextWindowPos(selectionStylePopupPos, im.Cond_Appearing)
      local wndOpen = im.BoolPtr(transformToolSettingsOpen)
      im.Begin("Item Selection Style", wndOpen, im.WindowFlags_NoCollapse)
    im.SetNextWindowPos(snapOptionPopupPos, im.Cond_Appearing)
    local wndOpen = im.BoolPtr(snapOptionsOpen)
    im.Begin("Snap To Terrain Options", wndOpen, im.WindowFlags_NoCollapse)
    im.Begin("Snap To Terrain Options", wndOpen, im.WindowFlags_NoCollapse)
    local boolPtr = im.BoolPtr(enableSnapSinkOption)
    if im.Checkbox("Sink Items##enableSnapSink", boolPtr) then
    local snapSinkPtr = im.FloatPtr(var.forestBrushTool.snapSink)
    local editEnded = im.BoolPtr(false)
    if not enableSnapSinkOption then
    im.SameLine()
    local brushSizeEditEnded = im.BoolPtr(false)
    local brushPressureEditEnded = im.BoolPtr(false)
    local brushSizeEditEnded = im.BoolPtr(false)
    local brushPressureEditEnded = im.BoolPtr(false)
    local brushSize = im.FloatPtr(editor.getPreference("forestEditor.general.brushSize"))