GE Lua Documentation

Press F to search!

ArrayChar

Definition


-- @/lua/common/extensions/ui/imgui_custom_luaintf.lua:72
  function M.ArrayChar(len, val)
    local buf = sb.new(len)
    if val then
      buf:put(val)
      len = len - #buf
    end
    if len > 0 then
      buf:commit(len)
    end
    return buf
  end

Callers

@/lua/ge/extensions/editor/rendererComponents.lua
local tempFloatArr4 = im.ArrayFloat(4)
local tempCharPtr = im.ArrayChar(256, "")
@/lua/ge/extensions/editor/util/vehicleFilterUtil.lua
  im.PushItemWidth(150)
  local popAttrPtr = im.ArrayChar(64, e.popAttribute)
  if editor.uiInputText("Population Attribute##"..e._id.."popAttr", popAttrPtr, 64) then
@/lua/ge/extensions/editor/vehicleEditor/staticEditor/vePartTextView.lua

local nodeEditTextInput = im.ArrayChar(256)
local nodeEditDoubleInput = im.DoublePtr(0)
  if nodeType == 'string' or nodeType == 'string_single' then
    nodeEditTextInput = im.ArrayChar(256, node[2])
  elseif nodeType == 'number' then
@/lua/ge/extensions/editor/missionEditor/setupModules.lua
      if not self.trafficCustomGroupInput then
        self.trafficCustomGroupInput = im.ArrayChar(1024, setupModule.customGroupFile)
      end
@/lua/ge/extensions/editor/mainMenu.lua
local windowSearch = require('/lua/ge/extensions/editor/util/searchUtil')()
local windowSearchTxt = imgui.ArrayChar(256, "")
local windowSearchDisplayResult = false
local resetLayoutsWindow = imgui.BoolPtr(false)
local layoutName = imgui.ArrayChar(128)
@/lua/ge/extensions/editor/fileDialog.lua
local fileTypeSelected = 1
local textinput = im.ArrayChar(256, "")
local textinputNewFolder = im.ArrayChar(256, "")
local textinput = im.ArrayChar(256, "")
local textinputNewFolder = im.ArrayChar(256, "")
local cbdata = nil
      local xpos = im.GetCursorPosX()
      local pathPointer = im.ArrayChar(512, currentPath)
      im.PushStyleVar2(im.StyleVar_ItemSpacing, im.ImVec2(0, im.GetStyle().ItemSpacing.y))
@/lua/ge/extensions/editor/missionPlaybook.lua
local missionList = nil
local filterInput = im.ArrayChar(1024,'')
local defaultPlaybookPath = "missionPlaybooks/"
local missionSearch = require('/lua/ge/extensions/editor/util/searchUtil')()
local missionSearchTxt = im.ArrayChar(256, "")
local missionSearchDisplayResult = false
@/lua/ge/extensions/editor/scriptAIManager.lua
          if not tmpSaveFilename then
            tmpSaveFilename = im.ArrayChar(128)
          end
@/lua/ge/extensions/editor/rallyEditor/pacenotes.lua
-- pacenote form fields
-- local pacenoteNameText = im.ArrayChar(1024, "")
-- local playbackRulesText = im.ArrayChar(1024, "")
-- local pacenoteNameText = im.ArrayChar(1024, "")
-- local playbackRulesText = im.ArrayChar(1024, "")
-- waypoint form fields
-- local waypointNameText = im.ArrayChar(1024, "")
-- local waypointPosition = im.ArrayFloat(3)

local pacenotesSearchText = im.ArrayChar(1024, "")
    local note = self.path.pacenotes.objects[id]
    -- pacenoteNameText = im.ArrayChar(1024, note.name)
    -- playbackRulesText = im.ArrayChar(1024, note.playback_rules)
    -- pacenoteNameText = im.ArrayChar(1024, note.name)
    -- playbackRulesText = im.ArrayChar(1024, note.playback_rules)
    self.pacenoteForm:setPacenote(note)
  else
    -- pacenoteNameText = im.ArrayChar(1024, "")
    -- playbackRulesText = im.ArrayChar(1024, "")
    -- pacenoteNameText = im.ArrayChar(1024, "")
    -- playbackRulesText = im.ArrayChar(1024, "")
    self.pacenoteForm:setPacenote(nil)
      self:selectPacenote(waypoint.pacenote.id)
      -- waypointNameText = im.ArrayChar(1024, waypoint.name)
      self:updateGizmoTransform(id)
  else -- deselect waypoint
    -- waypointNameText = im.ArrayChar(1024, "")
    -- I think this fixes the bug where you cant click on a pacenote waypoint anymore.
  --   self.pacenoteToolsState.search = nil
  --   pacenotesSearchText = im.ArrayChar(1024, "")
  -- end
@/lua/ge/extensions/editor/trafficSignalsEditor.lua
local selectedObject, signalCtrlDefinitions
local signalName = im.ArrayChar(256, "")
local ctrlName = im.ArrayChar(256, "")
local signalName = im.ArrayChar(256, "")
local ctrlName = im.ArrayChar(256, "")
local sequenceName = im.ArrayChar(256, "")
local ctrlName = im.ArrayChar(256, "")
local sequenceName = im.ArrayChar(256, "")
local ctrlDefinitionStateName = im.ArrayChar(256, "")
local sequenceName = im.ArrayChar(256, "")
local ctrlDefinitionStateName = im.ArrayChar(256, "")
local ctrlDefinitionTypeName = im.ArrayChar(256, "")
local ctrlDefinitionStateName = im.ArrayChar(256, "")
local ctrlDefinitionTypeName = im.ArrayChar(256, "")
local dummyVec = im.ImVec2(0, 5)
@/lua/ge/extensions/editor/sidewalkSpline.lua
          im.PushItemWidth(180)
          local splineNamePtr = im.ArrayChar(32, spline.name)
          if spline.isLink then
@/lua/ge/extensions/editor/crawlEditor/waypoints.lua

  local pathnodeNameText = im.ArrayChar(256, pathnode.name or "")
  local editEnded = im.BoolPtr(false)
    if fields.types[name] == 'string' then
      if not self.fields[name] then self.fields[name] = im.ArrayChar(4096, fields.values[name]) end
      local editEnded = im.BoolPtr(false)
  if not self.addFieldText then
    self.addFieldText = im.ArrayChar(256, "")
  end
    fields:add(ffi.string(self.addFieldText),'string',"value")
    self.addFieldText = im.ArrayChar(256,"")
  end
    fields:add(ffi.string(self.addFieldText),'number',0)
    self.addFieldText = im.ArrayChar(256,"")
  end
@/lua/ge/extensions/flowgraph/nodes/ui/endScreen.lua
  for i, btn in ipairs(self.options) do
    local txt = im.ArrayChar(64, btn)
    if im.InputText("##btn" .. i, txt, nil, im.InputTextFlags_EnterReturnsTrue) then
@/lua/ge/extensions/editor/crawlEditor/trails.lua
  if not trail then return end
  self.name = im.ArrayChar(256, trail.name or "")
  self.fileName = im.ArrayChar(256, trail._fileName or "")
  self.name = im.ArrayChar(256, trail.name or "")
  self.fileName = im.ArrayChar(256, trail._fileName or "")
  self.description = im.ArrayChar(1024, trail.description or "")
  self.fileName = im.ArrayChar(256, trail._fileName or "")
  self.description = im.ArrayChar(1024, trail.description or "")
  self.rules = im.ArrayChar(1024, trail.rules.description or "")
  self.description = im.ArrayChar(1024, trail.description or "")
  self.rules = im.ArrayChar(1024, trail.rules.description or "")
  self.pathReversed = im.BoolPtr(trail.pathReversed or false)
  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.thumbnail = im.ArrayChar(512, trail.thumbnail or "")
  self.preview = im.ArrayChar(512, trail.preview or "")
  self.isFromMission = im.BoolPtr(trail.isFromMission or false)
  self.isFromMission = im.BoolPtr(trail.isFromMission or false)
  self.missionName = im.ArrayChar(256, trail._fileName or "")
end
      trail._missionName = trail._fileName
      self.missionName = im.ArrayChar(256, trail._missionName or "")
    end
        trail.thumbnail = data.filepath
        self.thumbnail = im.ArrayChar(512, trail.thumbnail)
        markTrailAsDirty(trail)
        trail.preview = data.filepath
        self.preview = im.ArrayChar(512, trail.preview)
        markTrailAsDirty(trail)
@/lua/ge/extensions/editor/textEditor.lua
  local obj = scenetree.findObjectById(objIds[1])
  guiInstancer.instances[index].textInput = imgui.ArrayChar(textInputSize, tableSize(objIds) == 1 and obj:getField(fieldName, "") or "")
  local wndName = windowNamePrefix .. index
@/lua/ge/extensions/editor/sceneTree.lua
local comboIndex = imgui.IntPtr(0)
local inputTextValue = imgui.ArrayChar(500)
local smallIconSize = imgui.ImVec2(20, 20)
@/lua/ge/extensions/flowgraph/basenode.lua
  self.graph = graph
  self.graphName = im.ArrayChar(256,'New subGraph')
  self.id = forceId or self.mgr:getNextFreeGraphNodeId()
        im.CloseCurrentPopup()
        self.graphName = im.ArrayChar(256,"New Subgraph")
      end
      local accept = false
      if self._commentInput == nil then self._commentInput = im.ArrayChar(256, "") end
      accept = im.InputText('',self._commentInput,128, im.InputTextFlags_EnterReturnsTrue)
@/lua/ge/extensions/flowgraph/nodes/ui/missionEndScreen.lua
  for i, btn in ipairs(self.options) do
    local txt = im.ArrayChar(64, btn)
    if im.InputText("##btn" .. i, txt, nil, im.InputTextFlags_EnterReturnsTrue) then
@/lua/ge/extensions/editor/inspector.lua
  return {
    newFieldName = imgui.ArrayChar(1024),
    matchedFilterStaticFields = true,
    editEnded = imgui.BoolPtr(false),
    inputTextValue = imgui.ArrayChar(valueInspector.inputTextShortStringMaxSize),
    fields = {}
@/lua/ge/extensions/editor/forestEditor.lua
      var.editingObject = item
      var.editingNameCharPtr = im.ArrayChar(32, item.internalName)
      var.highlightInputText = true

  local shapeFileInputTextValue = im.ArrayChar(2048, fieldValue)
  if im.InputText("##shapeFile", shapeFileInputTextValue, nil, im.InputTextFlags_EnterReturnsTrue) then
@/lua/ge/extensions/flowgraph/nodes/ui/selectButtons.lua
  for i, btn in ipairs(self.options) do
    local txt = im.ArrayChar(64, btn)
    if im.InputText("##btn" .. i, txt, nil, im.InputTextFlags_EnterReturnsTrue) then
@/lua/ge/extensions/editor/vehicleEditor/staticEditor/vePartList.lua

local partsSearchText = im.ArrayChar(256)
local partsSearchTextCache
    if im.Button('x##partsSearchReset') then
      partsSearchText = im.ArrayChar(256)
      partsSortingDirty = true
@/lua/ge/extensions/gameplay/drift/quickMessages.lua
          if im.IsItemHovered() then
            im.tooltip(im.ArrayChar(4096, dumps(data)))
          end
@/lua/ge/extensions/editor/assetManagementTool.lua

local inputTextOld = imgui.ArrayChar(pathSize)
local inputTextNew = imgui.ArrayChar(pathSize)
local inputTextOld = imgui.ArrayChar(pathSize)
local inputTextNew = imgui.ArrayChar(pathSize)
local searchFilter = imgui.ImGuiTextFilter()
@/lua/ge/extensions/editor/crawlEditor/startingPositions.lua
  if not startingPosition then return end
  self.name = im.ArrayChar(256, startingPosition.name or "")
  self.fileName = im.ArrayChar(256, startingPosition._fileName or "")
  self.name = im.ArrayChar(256, startingPosition.name or "")
  self.fileName = im.ArrayChar(256, startingPosition._fileName or "")
  self.description = im.ArrayChar(1024, startingPosition.description or "")
  self.fileName = im.ArrayChar(256, startingPosition._fileName or "")
  self.description = im.ArrayChar(1024, startingPosition.description or "")
end
@/lua/ge/extensions/flowgraph/nodes/ui/imgui/imDialogue.lua
  for i, btn in ipairs(self.options) do
    local txt = im.ArrayChar(64, btn)
    if im.InputText("##btn" .. i .. '_' .. self.id, txt, nil, im.InputTextFlags_EnterReturnsTrue) then
@/lua/ge/extensions/flowgraph/nodes/vehicle/customPartsConfigProvider.lua
    for i, key in ipairs(self.sortedKeys[field]) do
      local keyText = im.ArrayChar(128, key)
      im.PushItemWidth(im.GetContentRegionAvailWidth())
      if tpe == 'string' then
        local valText = im.ArrayChar(128, self.partConfig[field][key])
        if im.InputText("##inputValPart" .. i ..field, valText, nil, im.InputTextFlags_EnterReturnsTrue) then
    im.Separator()
    self._keyText = self._keyText or im.ArrayChar(128, "")
    im.PushItemWidth(im.GetContentRegionAvailWidth())
    if tpe == 'string' then
      self._valText = self._valText or im.ArrayChar(128, "")
      im.InputText("##AddValPart", self._valText)
@/lua/ge/extensions/editor/missionEditor/startTrigger.lua
local function levelTrigger(self)
  if not self.fields.levelName then self.fields.levelName = im.ArrayChar(1024, self.mission.startTrigger.level) end
  local editEnded = im.BoolPtr(false)
  im.Text("Startable only from the Progress Screen in Career while in this level:")
  if not self.fields.levelName then self.fields.levelName = im.ArrayChar(1024, self.mission.startTrigger.level) end
  local editEnded = im.BoolPtr(false)
local function coordinatesTrigger(self)
  if not self.fields.levelName then self.fields.levelName = im.ArrayChar(1024, self.mission.startTrigger.level) end
  local editEnded = im.BoolPtr(false)
@/lua/ge/extensions/editor/tech/roadArchitect/groups.lua
  -- Add the new group to the placed groups container.
  placedGroups[#placedGroups + 1] = { name = im.ArrayChar(32, groups[gIdx].name), list = placed }

  placedGroups[placedGroupIdx] = { name = im.ArrayChar(32, 'New Group'), list = placed }
end
@/lua/ge/extensions/editor/raceEditor/startPositions.lua
    local sp = self.path.startPositions.objects[id]
    nameText = im.ArrayChar(1024, sp.name)
    self:updateTransform(id)
@/lua/ge/extensions/editor/audioRibbonEditor.lua
local masterDepth = im.FloatPtr(defaultDepth) -- Imgui binding for the depth slider.
local ambientEventBinding = im.ArrayChar(128, defaultAmbientEventName) -- The event binding for the ambient emitter.
local frontEventBinding = im.ArrayChar(128, defaultFrontEventName) -- The event binding for the front emitter.
local ambientEventBinding = im.ArrayChar(128, defaultAmbientEventName) -- The event binding for the ambient emitter.
local frontEventBinding = im.ArrayChar(128, defaultFrontEventName) -- The event binding for the front emitter.
local rearEventBinding = im.ArrayChar(128, defaultRearEventName) -- The event binding for the rear emitter.
local frontEventBinding = im.ArrayChar(128, defaultFrontEventName) -- The event binding for the front emitter.
local rearEventBinding = im.ArrayChar(128, defaultRearEventName) -- The event binding for the rear emitter.
local rightEventBinding = im.ArrayChar(128, defaultRightEventName) -- The event binding for the right emitter.
local rearEventBinding = im.ArrayChar(128, defaultRearEventName) -- The event binding for the rear emitter.
local rightEventBinding = im.ArrayChar(128, defaultRightEventName) -- The event binding for the right emitter.
local leftEventBinding = im.ArrayChar(128, defaultLeftEventName) -- The event binding for the left emitter.
local rightEventBinding = im.ArrayChar(128, defaultRightEventName) -- The event binding for the right emitter.
local leftEventBinding = im.ArrayChar(128, defaultLeftEventName) -- The event binding for the left emitter.
local nameBinding = im.ArrayChar(128, '')
local leftEventBinding = im.ArrayChar(128, defaultLeftEventName) -- The event binding for the left emitter.
local nameBinding = im.ArrayChar(128, '')
local tmpPos = vec3()
    local emitters = firstRibbon.emitters
    ambientEventBinding = im.ArrayChar(128, emitters[1].eventNameStr)
    frontEventBinding = im.ArrayChar(128, emitters[2].eventNameStr)
    ambientEventBinding = im.ArrayChar(128, emitters[1].eventNameStr)
    frontEventBinding = im.ArrayChar(128, emitters[2].eventNameStr)
    rearEventBinding = im.ArrayChar(128, emitters[3].eventNameStr)
    frontEventBinding = im.ArrayChar(128, emitters[2].eventNameStr)
    rearEventBinding = im.ArrayChar(128, emitters[3].eventNameStr)
    rightEventBinding = im.ArrayChar(128, emitters[4].eventNameStr)
    rearEventBinding = im.ArrayChar(128, emitters[3].eventNameStr)
    rightEventBinding = im.ArrayChar(128, emitters[4].eventNameStr)
    leftEventBinding = im.ArrayChar(128, emitters[5].eventNameStr)
    rightEventBinding = im.ArrayChar(128, emitters[4].eventNameStr)
    leftEventBinding = im.ArrayChar(128, emitters[5].eventNameStr)
  end
              masterDepth = im.FloatPtr(ribbon.depths[1])
              ambientEventBinding = im.ArrayChar(128, ribbon.emitters[1].eventNameStr)
              frontEventBinding = im.ArrayChar(128, ribbon.emitters[2].eventNameStr)
              ambientEventBinding = im.ArrayChar(128, ribbon.emitters[1].eventNameStr)
              frontEventBinding = im.ArrayChar(128, ribbon.emitters[2].eventNameStr)
              rearEventBinding = im.ArrayChar(128, ribbon.emitters[3].eventNameStr)
              frontEventBinding = im.ArrayChar(128, ribbon.emitters[2].eventNameStr)
              rearEventBinding = im.ArrayChar(128, ribbon.emitters[3].eventNameStr)
              rightEventBinding = im.ArrayChar(128, ribbon.emitters[4].eventNameStr)
              rearEventBinding = im.ArrayChar(128, ribbon.emitters[3].eventNameStr)
              rightEventBinding = im.ArrayChar(128, ribbon.emitters[4].eventNameStr)
              leftEventBinding = im.ArrayChar(128, ribbon.emitters[5].eventNameStr)
              rightEventBinding = im.ArrayChar(128, ribbon.emitters[4].eventNameStr)
              leftEventBinding = im.ArrayChar(128, ribbon.emitters[5].eventNameStr)
            end
        im.PushItemWidth(-1)
        nameBinding = im.ArrayChar(128, ribbon.name)
        if ribbon.isEnabled then
@/lua/ge/extensions/editor/masterSpline.lua
          -- 'Master Spline Name' input field.
          local splineNamePtr = im.ArrayChar(32, spline.name)
          if spline.isEnabled then
                  im.PushItemWidth(-1)
                  local layerNamePtr = im.ArrayChar(32, layer.name)
                  if im.InputText("###" .. tostring(wCtr), layerNamePtr, 32) then
@/lua/ge/extensions/editor/raceEditor.lua
local mouseInfo = {}
local nameText = im.ArrayChar(1024, "")
@/lua/ge/extensions/gameplay/missions/missionTypes/editorHelper.lua
  len = len or 1024
  return self:addElement({type = 'string', label = label, fieldName = fieldName, defaultValue = defaultValue, ac = im.ArrayChar(len, defaultValue), len = len , displayOptions = displayOptions})
end
  end
  return self:addElement({type = 'file', label = label, fieldName = fieldName, defaultValue = defaultValue, ac = im.ArrayChar(1024,defaultValue) , len = 1024, fileTags = fileTags, displayOptions = displayOptions})
end
local function numericSetMission(e, mtd) e.ptr[0] = mtd[e.fieldName] or e.defaultValue end
local function stringSetMission(e, mtd) e.ac = im.ArrayChar(e.len, mtd[e.fieldName] or e.defaultValue) e._translated = nil end
local function boolSetMission(e, mtd) if mtd[e.fieldName] == nil then e.ptr[0] = e.defaultValue else e.ptr[0] = mtd[e.fieldName] end end
        if im.Selectable1(v, v == mtd[e.fieldName]) then
          e.ac = im.ArrayChar(e.len, v)
          editEnded[0] = true
        mtd[e.fieldName] = data.filepath
        e.ac = im.ArrayChar(e.len, data.filepath)
        e.foundFile = nil
@/lua/ge/extensions/editor/sitesEditor/tags.lua
local im  = ui_imgui
local nameText = im.ArrayChar(1024, "")
local descText = im.ArrayChar(2048, "")
local nameText = im.ArrayChar(1024, "")
local descText = im.ArrayChar(2048, "")
local C = {}
@/lua/ge/extensions/editor/sensorConfigurationEditor.lua
local pythonCodeLen = 4096
local pythonCodePtr = im.ArrayChar(pythonCodeLen)
@/lua/ge/extensions/editor/tech/roadArchitect/profiles.lua
        {
          name = im.ArrayChar(32, 'Centerline'),
          doNotDelete = im.BoolPtr(true),
        {
          name = im.ArrayChar(32, 'Edge L ' .. tostring(i)),
          doNotDelete = im.BoolPtr(true),
        {
          name = im.ArrayChar(32, 'Edge R ' .. tostring(i)),
          doNotDelete = im.BoolPtr(true),
          {
            name = im.ArrayChar(32, 'Lane div ' .. tostring(i) .. '-' .. tostring(j)),
            doNotDelete = im.BoolPtr(true),
          {
            name = im.ArrayChar(32, 'Stop line A' .. tostring(i)),
            doNotDelete = im.BoolPtr(true),
          {
            name = im.ArrayChar(32, 'Stop line B' .. tostring(i)),
            doNotDelete = im.BoolPtr(true),
        {
          name = im.ArrayChar(32, 'Edge Blend L ' .. tostring(i)),
          doNotDelete = im.BoolPtr(true),
        {
          name = im.ArrayChar(32, 'Edge Blend R ' .. tostring(i)),
          doNotDelete = im.BoolPtr(true),
        {
          name = im.ArrayChar(32, 'Light tread ' .. tostring(i)),
          isHidden = true,
        {
          name = im.ArrayChar(32, 'Heavy tread ' .. tostring(i)),
          isHidden = true,
        {
          name = im.ArrayChar(32, 'Dirt track ' .. tostring(i)),
          isHidden = true,
        {
          name = im.ArrayChar(32, 'Damage overlay ' .. tostring(i)),
          isHidden = true,
    {
      name = im.ArrayChar(32, 'Damage overlay'),
      isHidden = true,
    {
      name = im.ArrayChar(32, 'Crack part overlay'),
      isHidden = true,
    {
      name = im.ArrayChar(32, 'Damage Patch'),
      isHidden = true,
    {
      name = im.ArrayChar(32, 'Pothole Patch'),
      isHidden = true,
        {
          name = im.ArrayChar(32, 'Crack overlay ' .. tostring(i)),
          isHidden = true,
      {
        name = im.ArrayChar(32, ffi.string(layer.name)),
        isHidden = layer.isHidden,
    {
      name = im.ArrayChar(32, ffi.string(layer.name)),
      isHidden = layer.isHidden,
    {
      name = im.ArrayChar(32, 'new layer'),
      isHidden = false,
  local profile = {}
  profile.name = im.ArrayChar(32, 'New Profile')
  profile.isDeletable = true
  local profile = {}
  profile.name = newName or im.ArrayChar(32, 'New Profile')
  profile.isDeletable = true

  profile.name = im.ArrayChar(32, 'New Profile')
  profile.isDeletable = true

  profile.name = im.ArrayChar(32, 'Overlay Profile')
  profile.isDeletable = true

  profile.name = im.ArrayChar(32, 'Bridge Profile')
  profile.isDeletable = true

  profile.name = im.ArrayChar(32, 'New Profile')
  profile.isDeletable = true

  profile.name = im.ArrayChar(32, 'New Profile')
  profile.isDeletable = true

  profile.name = im.ArrayChar(32, 'New Profile')
  profile.isDeletable = true

  profile.name = im.ArrayChar(32, 'New Profile')
  profile.isDeletable = true

  profile.name = im.ArrayChar(32, 'New Profile')
  profile.isDeletable = true

  profile.name = im.ArrayChar(32, 'New Profile')
  profile.isDeletable = true

  profile.name = im.ArrayChar(32, 'New Profile')
  profile.isDeletable = true

  profile.name = im.ArrayChar(32, 'New Profile')
  profile.isDeletable = true

  profile.name = im.ArrayChar(32, 'New Profile')
  profile.isDeletable = true

  profile.name = im.ArrayChar(32, 'New Profile')
  profile.isDeletable = true

  profile.name = im.ArrayChar(32, 'New Profile')
  profile.isDeletable = true

  profile.name = im.ArrayChar(32, 'New Profile')
  profile.isDeletable = true

  profile.name = im.ArrayChar(32, 'New Profile')
  profile.isDeletable = true
  local p = {
    name = im.ArrayChar(32, pSer.name or 'New Profile'),
    isDeletable = pSer.isDeletable or false,
        {
          name = im.ArrayChar(32, lay.name or 'new layer'),
          isHidden = lay.isHidden or false,
  local pCopy = copyProfile(p)
  pCopy.name = im.ArrayChar(32, 'New Template')
  profiles[#profiles + 1] = pCopy
  local p = deserialiseProfile(serProfile)
  p.name = im.ArrayChar(32, util.removeExtension(ffi.string(p.name)))
  return p
@/lua/ge/extensions/editor/dragRaceEditor/strips.lua
  im.SameLine()
  local id = im.ArrayChar(256, strip.id or "")
  if im.InputText("##stripId", id, 256) then
  im.SameLine()
  local name = im.ArrayChar(256, strip.name or "")
  if im.InputText("##stripName", name, 256) then
  im.SameLine()
  local description = im.ArrayChar(512, strip.description or "")
  if im.InputText("##stripDescription", description, 512) then
  im.SameLine()
  local id = im.ArrayChar(256, lane.id or "")
  if im.InputText("##laneId", id, 256) then
  im.SameLine()
  local name = im.ArrayChar(256, lane.name or "")
  if im.InputText("##laneName", name, 256) then
  im.SameLine()
  local shortName = im.ArrayChar(256, lane.shortName or "")
  if im.InputText("##laneShortName", shortName, 256) then
  im.SameLine()
  local longName = im.ArrayChar(256, lane.longName or "")
  if im.InputText("##laneLongName", longName, 256) then
      im.SameLine()
      local boundaryId = im.ArrayChar(256, lane.boundary.id or "")
      if im.InputText("##boundaryId", boundaryId, 256) then
      im.SameLine()
      local boundaryName = im.ArrayChar(256, lane.boundary.name or "")
      if im.InputText("##boundaryName", boundaryName, 256) then
      im.SameLine()
      local boundaryDescription = im.ArrayChar(512, lane.boundary.description or "")
      if im.InputText("##boundaryDescription", boundaryDescription, 512) then
@/lua/ge/extensions/editor/util/editorElementHelper.lua
  len = len or 1024
  return self:addElement({type = 'string', label = label, fieldName = fieldName, defaultValue = defaultValue, ac = im.ArrayChar(len, defaultValue), len = len , displayOptions = displayOptions})
end
  end
  return self:addElement({type = 'file', label = label, fieldName = fieldName, defaultValue = defaultValue, ac = im.ArrayChar(1024,defaultValue) , len = 1024, fileTags = fileTags, displayOptions = displayOptions})
end
local function numericSetContainer(e, ctd) e.ptr[0] = ctd[e.fieldName] or e.defaultValue end
local function stringSetContainer(e, ctd) e.ac = im.ArrayChar(e.len, ctd[e.fieldName] or e.defaultValue) e._translated = nil end
local function boolSetContainer(e, ctd) if ctd[e.fieldName] == nil then e.ptr[0] = e.defaultValue else e.ptr[0] = ctd[e.fieldName] end end
        if im.Selectable1(v, v == ctd[e.fieldName]) then
          e.ac = im.ArrayChar(e.len, v)
          editEnded[0] = true
  if editor.uiIconImageButton(editor.icons.undo, imVec24x24) then
    e.ac = im.ArrayChar(e.len, e.defaultValue)
    editEnded[0] = true
        ctd[e.fieldName] = data.filepath
        e.ac = im.ArrayChar(e.len, data.filepath)
        e.foundFile = nil
@/lua/ge/extensions/editor/dataBlockEditor.lua
local newDataBlockClass
local newDataBlockName = im.ArrayChar(128)
local dataBlockToCopyName = ""
        dataBlockToCopyName = ""
        newDataBlockName = im.ArrayChar(128)
      end
@/lua/ge/extensions/editor/biomeTool.lua
local terrainBlock = nil
local maskFilePath = imgui.ArrayChar(256,"")
local randomBaseMaskFilePath = imgui.ArrayChar(256,"")
local maskFilePath = imgui.ArrayChar(256,"")
local randomBaseMaskFilePath = imgui.ArrayChar(256,"")
local editAreaIndex = nil
local input2FloatValue = imgui.ArrayFloat(2)
local inputTextValue = imgui.ArrayChar(500)
        function(data)
          maskFilePath = imgui.ArrayChar(256, data.filepath)
          setTerrLayerMask(layerID, ffi.string(maskFilePath))
@/lua/ge/extensions/editor/vehicleEditor/veToolbar.lua

local layoutName = im.ArrayChar(128)
@/lua/ge/extensions/editor/cameraBookmarks.lua
local toolWindowName = "cameraBookmarks"
local newBookmarkName = imgui.ArrayChar(1000)
@/lua/ge/extensions/core/ropeVisualTest.lua
-- UI buffers
local materialNamePtr = im.ArrayChar(256, "")
local saveFilePathPtr = im.ArrayChar(512, "rope_parameters.json")
local materialNamePtr = im.ArrayChar(256, "")
local saveFilePathPtr = im.ArrayChar(512, "rope_parameters.json")
local loadFilePathPtr = im.ArrayChar(512, "rope_parameters.json")
local saveFilePathPtr = im.ArrayChar(512, "rope_parameters.json")
local loadFilePathPtr = im.ArrayChar(512, "rope_parameters.json")
    -- uiPtrs.c3[0] = selectedRope.c3  -- TODO: Figure out correct type
    materialNamePtr = im.ArrayChar(256, selectedRope.materialName)
    uiPtrs.animationScale[0] = animationScale
  if ui.materialName and ui.materialName ~= "" then
    materialNamePtr = im.ArrayChar(256, ui.materialName)
  end
    if ui.materialName and ui.materialName ~= "" then
      materialNamePtr = im.ArrayChar(256, ui.materialName)
    end
@/lua/ge/extensions/editor/cameraTransform.lua

local camTransfrom = im.ArrayChar(512)
@/lua/ge/extensions/editor/missionEditor/general.lua
  self.mission = mission
  self.nameText = im.ArrayChar(1024, self.mission.name)
  self.descText = im.ArrayChar(2048, self.mission.description)
  self.nameText = im.ArrayChar(1024, self.mission.name)
  self.descText = im.ArrayChar(2048, self.mission.description)
  self._titleTranslated = nil
@/lua/ge/extensions/flowgraph/nodes/gameplay/sites/parkingspot.lua
  for i, btn in ipairs(self.options) do
    local txt = im.ArrayChar(64, btn)
    if im.InputText("##btn" .. i, txt, nil, im.InputTextFlags_EnterReturnsTrue) then
@/lua/ge/extensions/trackbuilder/trackBuilder.lua
    onDrag()
    if not materialSettings.dragDropData then materialSettings.dragDropData = im.ArrayChar(64, texture.path) end
    if not materialSettings.dragDropImage then materialSettings.dragDropImage = editor.texObj(texture.path) end
    onDrag()
    if not materialSettings.dragDropData then materialSettings.dragDropData = im.ArrayChar(64, name) end
    if not materialSettings.dragDropImage then materialSettings.dragDropImage = set.tex end
    onDrag()
    if not materialSettings.dragDropData then materialSettings.dragDropData = im.ArrayChar(64, name) end
    if not materialSettings.dragDropImage then materialSettings.dragDropImage = glowMap.tex end
    previewNames = nil,
    saveStr = im.ArrayChar(128),
    infoText = "",
    infoText = "",
    description = im.ArrayChar(256*16),
    difficulty = im.IntPtr(1),
@/lua/ge/extensions/flowgraph/nodes/debug/comment.lua
  local reason = nil
  local imText = im.ArrayChar(64, self.commentTitle)
  local descText = im.ArrayChar(2048, self.commentText)
  local imText = im.ArrayChar(64, self.commentTitle)
  local descText = im.ArrayChar(2048, self.commentText)
  im.Columns(2)
@/lua/ge/extensions/editor/toolUtilities/meshAuditionMgr.lua
local isInMeshView = false -- A flag which indicates if the camera is in static mesh audition view, or not.
local meshFilterBuf = im.ArrayChar(64, "") -- Search bar input buffer.
local staticMeshPaths = deepcopy(defaultStaticMeshPaths) -- The paths of the static meshes, used for searching.
@/lua/ge/extensions/editor/missionEditor/additionalAttributes.lua
  self.missionInstance = gameplay_missions_missions.getMissionById(mission.id)
  self.groupIdInput = im.ArrayChar(1024, self.mission.grouping.id or "")
  self.groupLabelInput = im.ArrayChar(2048, self.mission.grouping.label or "")
  self.groupIdInput = im.ArrayChar(1024, self.mission.grouping.id or "")
  self.groupLabelInput = im.ArrayChar(2048, self.mission.grouping.label or "")
  self.authorInput = im.ArrayChar(1024, self.mission.author or "")
  self.groupLabelInput = im.ArrayChar(2048, self.mission.grouping.label or "")
  self.authorInput = im.ArrayChar(1024, self.mission.author or "")
  self.dateInput = im.IntPtr(self.mission.date or 0)
@/lua/ge/extensions/editor/flowgraph/nodelibrary.lua
function C:init()
  self.searchText = im.ArrayChar(128)
  self.pinFiltered = false
function C:clear()
  self.searchText = im.ArrayChar(128)
  self:filterTemplates(self.pinFiltered,'nodes')
@/lua/ge/extensions/editor/barriersEditor.lua
local toolWindowName = "Barriers Selector"
local searchText = im.ArrayChar(1024, "*barrier*")
@/lua/ge/extensions/editor/roadTemplateEditor.lua
local chosenTemplateName = ""
local saveName = im.ArrayChar(30)
local saveDialog = im.BoolPtr(false)
@/lua/ge/extensions/editor/vehicleBridgeTest.lua

    local keyInput = im.ArrayChar(128, key)
    if im.InputText("Key", keyInput) then
@/lua/ge/extensions/editor/multiSpawnManager.lua
  imValues.maxYear = im.IntPtr(0)
  imValues.tagName, imValues.groupName = im.ArrayChar(256, ""), im.ArrayChar(256, "")
  imValues.maxYear = im.IntPtr(0)
  imValues.tagName, imValues.groupName = im.ArrayChar(256, ""), im.ArrayChar(256, "")
@/lua/ge/extensions/flowgraph/nodes/input/blacklistAction.lua
  self.search = require('/lua/ge/extensions/editor/util/searchUtil')()
  self.searchText = im.ArrayChar(128)
  self.results = {}
    self.searchChanged = true
    self.searchText = im.ArrayChar(128)
  end
    self.searchChanged = true
    self.searchText = im.ArrayChar(128)
  end
@/lua/ge/extensions/editor/raceEditor/pathnodes.lua
local pathnodeRadius = im.FloatPtr(0)
local nameText = im.ArrayChar(1024, "")
  self.fields = {}
  self.addFieldText = im.ArrayChar(256, "")
end
  self.fields = {}
  self.addFieldText = im.ArrayChar(256, "")
end
    local node = self.path.pathnodes.objects[id]
    nameText = im.ArrayChar(1024, node.name)
    self:updateTransform(id)
  self.fields = {}
  self.addFieldText = im.ArrayChar(256, "")
end
    if fields.types[name] == 'string' then
      if not self.fields[name] then self.fields[name] = im.ArrayChar(4096, fields.values[name]) end
      local editEnded = im.BoolPtr(false)
    fields:add(ffi.string(self.addFieldText),'string',"value")
    self.addFieldText = im.ArrayChar(256,"")
  end
    fields:add(ffi.string(self.addFieldText),'number',0)
    self.addFieldText = im.ArrayChar(256,"")
  end
@/lua/ge/extensions/editor/flowgraph/references.lua
  self.searchResult = {}
  self.searchText = im.ArrayChar(128)
  self.nodeTable = nil
@/lua/ge/extensions/editor/rallyEditor/pacenotes/customForm.lua
  local editEnded = im.BoolPtr(false)
  local audioFileText = im.ArrayChar(1024, pacenote:getCustomAudioFile() or "")
  im.SetNextItemWidth(250)

  local descriptionText = im.ArrayChar(1024, pacenote:getCustomDescription() or "")
  im.SetNextItemWidth(250)
@/lua/ge/extensions/editor/util/searchUtil.lua
  if im.BeginCombo("##" .. string_label.."bigCombo", string_preview_value, ImGuiComboFlags_flags) then
    if not self.searchText then self.searchText = im.ArrayChar(128) end
    if im.InputText("##searchInProject", self.searchText, nil, im.InputTextFlags_AutoSelectAll) then
      self.searchChanged = true
      self.searchText = im.ArrayChar(128)
    end
@/lua/ge/extensions/editor/assemblySpline.lua
          im.PushItemWidth(180)
          local splineNamePtr = im.ArrayChar(32, spline.name)
          if spline.isLink then
@/lua/ge/extensions/editor/mapSensorEditor.lua
local pythonCodeLen = 4096
local pythonCodePtr = im.ArrayChar(pythonCodeLen)
@/lua/ge/extensions/ui/messagesDebugger.lua
-- UI state
local txtMsg = im.ArrayChar(1024, "")
local txtCategory = im.ArrayChar(128, "default")
local txtMsg = im.ArrayChar(1024, "")
local txtCategory = im.ArrayChar(128, "default")
local txtIcon = im.ArrayChar(256, "")
local txtCategory = im.ArrayChar(128, "default")
local txtIcon = im.ArrayChar(256, "")
local ttlSeconds = im.FloatPtr(5.0)
@/lua/ge/extensions/editor/crawlEditor/presets.lua
  self.showPresetManagerPtr = im.BoolPtr(false)
  self.boundaryPresetName = im.ArrayChar(256, "")
  self.pathnodePresetName = im.ArrayChar(256, "")
  self.boundaryPresetName = im.ArrayChar(256, "")
  self.pathnodePresetName = im.ArrayChar(256, "")
  self.trailPresetName = im.ArrayChar(256, "")
  self.pathnodePresetName = im.ArrayChar(256, "")
  self.trailPresetName = im.ArrayChar(256, "")
@/lua/ge/extensions/editor/sitesEditor/sortedListDisplay.lua
  self.selectByClick = true
  self.search = im.ArrayChar(256, "")
  editor.selection[self.key] = {}
  if elem then
    self.nameText = im.ArrayChar(1024, elem.name)
    self.color = im.ArrayFloat(4)
    self.fields = {}
    self.addFieldText = im.ArrayChar(256, "")
    self.addTagText = im.ArrayChar(256, "")
    self.addFieldText = im.ArrayChar(256, "")
    self.addTagText = im.ArrayChar(256, "")
  end
  if im.SmallButton("x") then
    self.search = im.ArrayChar(256, '')
  end
      if not self.fields[name] then
        self.fields[name] = im.ArrayChar(4096, fields.values[name])
      end
    end
    self.addFieldText = im.ArrayChar(256, "")
  end
    end
    self.addFieldText = im.ArrayChar(256, "")
  end
        if im.Selectable1(tag) then
          self.addTagText = im.ArrayChar(256, tag)
          self:addTag()
  self:updateSharedSelectedTags()
  self.addTagText = im.ArrayChar(256, "")
end
@/lua/ge/extensions/editor/raceEditor/tools.lua
local shapeNameLeft,shapeNameRight = "art/shapes/race/sign_checkpoint.dae", "art/shapes/race/sign_checkpoint.dae"
local shapeInputLeft,shapeInputRight = im.ArrayChar(1024, shapeNameLeft), im.ArrayChar(1024, shapeNameRight)
local alignMode = 'terrain'
local shapeNameLeft,shapeNameRight = "art/shapes/race/sign_checkpoint.dae", "art/shapes/race/sign_checkpoint.dae"
local shapeInputLeft,shapeInputRight = im.ArrayChar(1024, shapeNameLeft), im.ArrayChar(1024, shapeNameRight)
local alignMode = 'terrain'
        shapeNameLeft = data.filepath
        shapeInputLeft = im.ArrayChar(1024, data.filepath)
      end, {{'dae files','dae'},{'prefab files','prefab'},{'prefab json files','prefab.json'}}, false,'/art/shapes/race/')
        shapeNameRight = data.filepath
        shapeInputRight = im.ArrayChar(1024, data.filepath)
      end, {{'dae files','dae'},{'prefab files','prefab'},{'prefab json files','prefab.json'}}, false,'/art/shapes/race/')
@/lua/ge/extensions/flowgraph/nodes/ui/updatedUI/endScreenWhole.lua
  for i, btn in ipairs(self.options) do
    local txt = im.ArrayChar(64, btn)
    if im.InputText("##btn" .. i, txt, nil, im.InputTextFlags_EnterReturnsTrue) then
@/lua/ge/extensions/editor/resourceChecker.lua

local searchTxt = im.ArrayChar(256, "")
local searchFilter = false
@/lua/ge/extensions/editor/dragRaceEditor/lanes.lua
  im.SameLine()
  local id = im.ArrayChar(256, lane.id or "")
  if im.InputText("##laneId", id, 256) then
  im.SameLine()
  local name = im.ArrayChar(256, lane.name or "")
  if im.InputText("##laneName", name, 256) then
  im.SameLine()
  local shortName = im.ArrayChar(256, lane.shortName or "")
  if im.InputText("##laneShortName", shortName, 256) then
  im.SameLine()
  local longName = im.ArrayChar(256, lane.longName or "")
  if im.InputText("##laneLongName", longName, 256) then
  im.SameLine()
  local boundaryId = im.ArrayChar(256, lane.boundaryId or "")
  if im.InputText("##laneBoundaryId", boundaryId, 256) then
@/lua/ge/extensions/editor/audioEventsList.lua

local eventSearchInput = im.ArrayChar(128, "")
@/lua/ge/extensions/editor/drivePathEditor.lua
          im.PushItemWidth(180)
          local splineNamePtr = im.ArrayChar(32, spline.name)
          if not spline.isEnabled then
@/lua/ge/extensions/editor/perfProfiler.lua
      searchChanged = true
      searchText = im.ArrayChar(128)
    end
      search = require('/lua/ge/extensions/editor/util/searchUtil')()
      searchText = im.ArrayChar(128)
    end
      metaEdit = {}
      metaEdit.name = im.ArrayChar(1024, metadataFile.meta.name)
    end
@/lua/ge/extensions/editor/gen/terrain.lua
    --    ,ffi.string('/lua/ge/extensions/editor/gen/assets/tflat.png')
    --        ,ffi.string(im.ArrayChar(128))
    --        ffi.string(terrainImpExp.holeMapTexture),
@/lua/ge/extensions/editor/missionEditor.lua
local newMissionData = {
  name = im.ArrayChar(1024, "Name"),
  id = im.ArrayChar(1024, "Id"),
  name = im.ArrayChar(1024, "Name"),
  id = im.ArrayChar(1024, "Id"),
  level = "gridmap",
local missionList = nil
local filterInput = im.ArrayChar(1024,'')
local missionSearch = require('/lua/ge/extensions/editor/util/searchUtil')()
local missionSearchTxt = im.ArrayChar(256, "")
local missionSearchDisplayResult = false
      local id = string.format("%s/%s/%03d-%s", level, newMissionData.type, sameTypeLevelCount, name)
      newMissionData.id = im.ArrayChar(1024, id)
    end

  translationData.copyPastaPtr = im.ArrayChar(100000, table.concat( translationStrings, ",\n")..",\n")
  translationData.translation = translation
      if elem.source.type == 'string' then
        elem.source.ac = im.ArrayChar(elem.source.len, elem.key)
        clickedMission.missionTypeData[elem.source.fieldName] = elem.key
      translationData = {
        copyPastaPtr = im.ArrayChar(100000),
        copyPastaLength = 100000,
        copyPastaLength = 100000,
        translationKeyPtr = im.ArrayChar(1000,string.format("missions.%s.%s.%s",clickedMission.missionType, level, shortId)),
        translationKeyLength = 1000
      end
      translationData.translationKeyPtr = im.ArrayChar(1000,string.format("missions.%s.%s.%s",level, clickedMission.missionType, shortId))
    end
          openNewMissionPopup = true
          newMissionData.name = im.ArrayChar(1024, "Name")
          newMissionData.id = im.ArrayChar(1024, "Id")
          newMissionData.name = im.ArrayChar(1024, "Name")
          newMissionData.id = im.ArrayChar(1024, "Id")
          newMissionData.type = "flowgraph"
@/lua/ge/extensions/editor/gen/world.lua
	-- import
	terrainImpExp.terrainName = im.ArrayChar(32, "theTerrain")
	terrainImpExp.metersPerPixel = im.FloatPtr(1)
	terrainImpExp.heightScale = im.FloatPtr(50) -- maxHeight
	terrainImpExp.heightMapTexture = im.ArrayChar(128)
	terrainImpExp.holeMapTexture = im.ArrayChar(128)
	terrainImpExp.heightMapTexture = im.ArrayChar(128)
	terrainImpExp.holeMapTexture = im.ArrayChar(128)
	terrainImpExp.textureMaps = {
	-- export
	terrainImpExp.exportPath = im.ArrayChar(128)
@/lua/ge/extensions/editor/terrainMaterialsEditor.lua
    editor.logWarn("Cannot set the terrain material name " .. newName .. ", already taken.")
    terrainMtlCopyProxy.nameInput = im.ArrayChar(32, terrainMtlCopyProxy.internalName)
    terrainMtlProxy.internalName = terrainMtlCopyProxy.internalName
@/lua/ge/extensions/editor/bulkRename.lua
local filter = imgui.ImGuiTextFilter()
local renamePatternInput = imgui.ArrayChar(1024, "%o")
local fieldToRenamePtr = imgui.IntPtr(0)
@/lua/ge/extensions/editor/missionEditor/progressSingle.lua
        local arraySize = 8*(2+math.max(128, 4*serializedSaveData:len()))
        local arrayChar = im.ArrayChar(arraySize)
        ffi.copy(arrayChar, serializedSaveData)
@/lua/ge/extensions/editor/materialEditor.lua
--
local newMatName = im.ArrayChar(128)
local newMatMapTo = im.ArrayChar(128)
local newMatName = im.ArrayChar(128)
local newMatMapTo = im.ArrayChar(128)
local newMatPath = im.ArrayChar(512)
local newMatMapTo = im.ArrayChar(128)
local newMatPath = im.ArrayChar(512)
local newMatMapToLocked = false
local selectedCubemapObj = nil
local cubemapNamePtr = im.ArrayChar(32)
local cubemapFaceThumbnailSize = 128
@/lua/ge/extensions/util/vehicleRopeDebug.lua
-- UI buffers
local materialNamePtr = im.ArrayChar(256, "")
    -- uiPtrs.c3[0] = selectedRope.c3  -- TODO: Figure out correct type
    materialNamePtr = im.ArrayChar(256, selectedRope.materialName)
    uiPtrs.simFPS[0] = selectedRope.simFPS
@/lua/ge/extensions/editor/tech/roadArchitect/link.lua
  local newRoad = roadMgr.createRoadFromProfile(profileMgr.copyProfile(r1.profile))
  newRoad.displayName = im.ArrayChar(32, 'Joined Road')
  local nodes = {}

  r1.displayName = im.ArrayChar(32, 'Joined Overlay')
@/lua/ge/extensions/editor/missionEditor/layers.lua
    self.inputs[i] = {
      text = im.ArrayChar(1024, layer.dir)
    }
@/lua/ge/extensions/editor/vehicleEditor/staticEditor/veJBeamBeautifier.lua

local directoryToBeautifyPtr = im.ArrayChar(1024, '')
@/lua/ge/extensions/flowgraph/nodes/util/template.lua
  local reason = nil
  local imText = im.ArrayChar(64, self.myField)
  if im.InputText("##mf" .. self.id, imText, nil, im.InputTextFlags_EnterReturnsTrue) then
@/lua/ge/extensions/editor/createObjectTool.lua
local currentCreateObjectItem = nil
local simObjectClassNameFilter = imgui.ArrayChar(128)
local simObjectSearch = require('/lua/ge/extensions/editor/util/searchUtil')()
@/lua/ge/extensions/editor/missionEditor/progressSetup.lua
        local arraySize = 8*(2+math.max(128, 4*serializedSaveData:len()))
        local arrayChar = im.ArrayChar(arraySize)
        ffi.copy(arrayChar, serializedSaveData)
@/lua/ge/extensions/editor/raceEditor/segments.lua
local im  = ui_imgui
local nameText = im.ArrayChar(1024, "")
local capsulePosition = im.ArrayFloat(3)
  if index then
    nameText = im.ArrayChar(1024, self.path.segments.objects[self.index].name)
    editor.editModes.raceEditMode.auxShortcuts[editor.AuxControl_Shift] = "Set Target"
@/lua/ge/extensions/editor/terrainEditor.lua
-- import
terrainImpExp.terrainName = im.ArrayChar(32, "theTerrain")
terrainImpExp.metersPerPixel = im.FloatPtr(1)
terrainImpExp.heightScale = im.FloatPtr(50) -- maxHeight
terrainImpExp.heightMapTexture = im.ArrayChar(128)
terrainImpExp.holeMapTexture = im.ArrayChar(128)
terrainImpExp.heightMapTexture = im.ArrayChar(128)
terrainImpExp.holeMapTexture = im.ArrayChar(128)
terrainImpExp.textureMaps = {
-- export
terrainImpExp.exportPath = im.ArrayChar(128)
  elseif map == "heightMap" then
    terrainImpExp.heightMapTexture = im.ArrayChar(128, path)
  elseif map == "holeMap" then
  elseif map == "holeMap" then
    terrainImpExp.holeMapTexture = im.ArrayChar(128, path)
  elseif map == "textureMap" then

  mtlProxyCopy.nameInput = im.ArrayChar(32, mtlProxyCopy.internalName)
  -- if we dont have a groundmodel name, then we legacy copy the gm name from internalName

  mtlProxyCopy.groundmodelNameInput = im.ArrayChar(32, mtlProxyCopy.groundmodelName)
  mtlProxyCopy.diffuseSizeInput = im.FloatPtr(mtlProxyCopy.diffuseSize)
local function openImportTerrainDialog()
  terrainImpExp.terrainName = im.ArrayChar(32, "theTerrain")
  -- Clear any existing texture maps to prevent state persistence issues
local function openExportTerrainDialog()
  terrainImpExp.exportPath = im.ArrayChar(128, var.lastPath)
  editor.showWindow(terrainExportDialogName)
  if success == true then
    terrainImpExp.exportPath = im.ArrayChar(128)
    closeExportTerrainDialog()
    if im.Button("...##HeightMapImage", im.ImVec2(var.inputWidgetHeight, var.inputWidgetHeight)) then
      editor_fileDialog.openFile(function(data) terrainImpExp.heightMapTexture = im.ArrayChar(128, data.filepath) end, {{"Any files", "*"},{"Images",{".png", ".dds", ".jpg"}},{"PNG", ".png"}, {"JPG", ".jpg"}, {"DDS", ".dds"}}, false, var.lastPath, true)
    end
    if im.Button("...##HoleMapImage", im.ImVec2(var.inputWidgetHeight, var.inputWidgetHeight)) then
      editor_fileDialog.openFile(function(data) terrainImpExp.holeMapTexture = im.ArrayChar(128, data.filepath) end, {{"Any files", "*"},{"Images",{".png", ".dds", ".jpg"}},{"PNG", ".png"}, {"JPG", ".jpg"}, {"DDS", ".dds"}}, false, var.lastPath, true)
    end
    if im.Button("...##TerrainExportPath", im.ImVec2(var.inputWidgetHeight, var.inputWidgetHeight)) then
      editor_fileDialog.openFile(function(data) terrainImpExp.exportPath=im.ArrayChar(128, data.path) end, nil, true, var.lastPath)
    end
@/lua/ge/extensions/editor/assetBrowser.lua
var.assetViewFilter = im.ImGuiTextFilter()
var.assetViewFilterDB = im.ArrayChar(32)
var.assetViewFilterWidth = 150
var.saveFilterNameInputWidth = 100
var.saveFilterNameInput = im.ArrayChar(32)
var.newFolderModalOpen = false
var.newFolderName = im.ArrayChar(32)
var.newFolderMessages = {}
  })
  var.saveFilterNameInput = im.ArrayChar(32)
  editor.setPreference("assetBrowser.general.savedFilter", var.options.savedFilter)
    end
    local data = im.ArrayChar(2048, editor.assetDragDrop.data.path)
    im.SetDragDropPayload("ASSETDRAGDROP", data, im.ArraySize(data), im.Cond_Once)
@/lua/ge/extensions/editor/util/vehicleSelectUtil.lua
    if not self.customConfigPtr then
      self.customConfigPtr = im.ArrayChar(1024, self.customConfigPath or "")
    end
@/lua/ge/extensions/editor/missionEditor/objectives.lua
local function getBuffer(key, default)
  if not inputBuffers[key] then inputBuffers[key] = im.ArrayChar(2048, default or "") end
  return inputBuffers[key]
        local arraySize = 8*(2+math.max(128, 4*serializedSaveData:len()))
        local arrayChar = im.ArrayChar(arraySize)
        ffi.copy(arrayChar, serializedSaveData)
@/lua/ge/extensions/editor/dragRaceEditor/facilities.lua
  im.SameLine()
  local id = im.ArrayChar(256, facility.id or "")
  if im.InputText("##facilityId", id, 256) then
  im.SameLine()
  local name = im.ArrayChar(256, facility.name or "")
  if im.InputText("##facilityName", name, 256) then
  im.SameLine()
  local description = im.ArrayChar(512, facility.description or "")
  if im.InputText("##facilityDescription", description, 512) then
@/lua/ge/extensions/editor/missionEditor/prefabs.lua
  for _, p in ipairs(mission.prefabs or {}) do
    table.insert(self.filenames, im.ArrayChar(2048, p or ""))
  end
          self.mission.prefabs[i] = data.filepath
          self.filenames[i] = im.ArrayChar(1024, data.filepath)
          self.mission._dirty = true
  if im.Button("Add##prefabs") then
    table.insert(self.filenames, im.ArrayChar(2048, "/"))
    table.insert(self.mission.prefabs,"/")
@/lua/ge/extensions/editor/meshSpline.lua
          im.PushItemWidth(180)
          local splineNamePtr = im.ArrayChar(32, spline.name)
          if spline.isLink then
@/lua/ge/extensions/editor/rallyEditor/notebookInfo.lua
-- notebook form fields
local notebookNameText = im.ArrayChar(1024, "")
local notebookAuthorsText = im.ArrayChar(1024, "")
local notebookNameText = im.ArrayChar(1024, "")
local notebookAuthorsText = im.ArrayChar(1024, "")
local notebookDescText = im.ArrayChar(2048, "")
local notebookAuthorsText = im.ArrayChar(1024, "")
local notebookDescText = im.ArrayChar(2048, "")
-- codriver form fields
local codriverNameText = im.ArrayChar(1024, "")
local codriverLanguageText = im.ArrayChar(1024, "")
local codriverNameText = im.ArrayChar(1024, "")
local codriverLanguageText = im.ArrayChar(1024, "")
local codriverVoiceIdText = im.ArrayChar(1024, "")
local codriverLanguageText = im.ArrayChar(1024, "")
local codriverVoiceIdText = im.ArrayChar(1024, "")
  if codriver then
    codriverNameText = im.ArrayChar(1024, codriver.name)
    codriverLanguageText = im.ArrayChar(1024, codriver.language)
    codriverNameText = im.ArrayChar(1024, codriver.name)
    codriverLanguageText = im.ArrayChar(1024, codriver.language)
    codriverVoiceIdText = im.ArrayChar(1024, codriver.voice)
    codriverLanguageText = im.ArrayChar(1024, codriver.language)
    codriverVoiceIdText = im.ArrayChar(1024, codriver.voice)
  end

  notebookNameText = im.ArrayChar(1024, self.path.name)
  notebookAuthorsText = im.ArrayChar(1024, self.path.authors)
  notebookNameText = im.ArrayChar(1024, self.path.name)
  notebookAuthorsText = im.ArrayChar(1024, self.path.authors)
  notebookDescText = im.ArrayChar(1024, self.path.description)
  notebookAuthorsText = im.ArrayChar(1024, self.path.authors)
  notebookDescText = im.ArrayChar(1024, self.path.description)
@/lua/ge/extensions/editor/driftDataEditor.lua
local selectedDriftSpotId
local newDriftSpotId = im.ArrayChar(128, "")
local rawData = im.BoolPtr(false)
      createNewDriftSpot(ffi.string(newDriftSpotId))
      newDriftSpotId = im.ArrayChar(128, "")
    end
      for i, markerObj in ipairs(lineData.markerObjects) do
        local imVal = im.ArrayChar(2048, markerObj)
      im.SameLine()
      local namePtr = im.ArrayChar(128, info.name or "")
      if im.InputText("##name", namePtr) then
@/lua/ge/extensions/editor/crawlEditor/paths.lua
  if not path then return end
  self.name = im.ArrayChar(256, path.name or "")
  self.fileName = im.ArrayChar(256, path._fileName or "")
  self.name = im.ArrayChar(256, path.name or "")
  self.fileName = im.ArrayChar(256, path._fileName or "")
  self.description = im.ArrayChar(1024, path.description or "")
  self.fileName = im.ArrayChar(256, path._fileName or "")
  self.description = im.ArrayChar(1024, path.description or "")
end

    local pathnodeName = im.ArrayChar(256, self.currentPathnode.name or "")
    im.Text("Name")
    local flagsStr = (json and json.encode and json.encode(self.currentPathnode.flags)) or "{}"
    local flagsBuf = im.ArrayChar(512, flagsStr)
    local flagsEditEnded = im.BoolPtr(false)
@/lua/ge/extensions/editor/missionEditor/dev.lua
  self.mission = mission
  self.devText = im.ArrayChar(2048, self.mission.devNotes.text or "")
  self.devMission = im.BoolPtr(self.mission.devNotes.devMission or false)
@/lua/ge/extensions/editor/flowgraph/projectSettings.lua
  self.mgr = mgr
  self.mgrNameField = im.ArrayChar(64, mgr.name)
  self.mgrAuthorField = im.ArrayChar(128, mgr.authors)
  self.mgrNameField = im.ArrayChar(64, mgr.name)
  self.mgrAuthorField = im.ArrayChar(128, mgr.authors)
  self.diffPtr = im.IntPtr(mgr.difficulty)
  im.NextColumn()
  local textinput = im.ArrayChar(512, tostring(self.mgr.description or ''))
  local editEnded = im.BoolPtr(false)
@/lua/ge/extensions/editor/roadSpline.lua
          im.PushItemWidth(180)
          local splineNamePtr = im.ArrayChar(32, group.name)
          if group.isLink then
                  im.PushItemWidth(-1)
                  local layerNamePtr = im.ArrayChar(32, layer.name)
                  if not layer.isEnabled then
@/lua/ge/extensions/editor/dynamicDecals/textures.lua
      if im.BeginDragDropSource(im.DragDropFlags_SourceAllowNullID) then
        local payload = im.ArrayChar(256, filePath)
        im.SetDragDropPayload("DynDecalTextureDrapDrop", payload, im.ArraySize(payload))
@/lua/ge/extensions/editor/decalSpline.lua
          im.PushItemWidth(180)
          local splineNamePtr = im.ArrayChar(32, spline.name)
          if spline.isLink then
@/lua/ge/extensions/editor/missionEditor/conditions.lua
  local  val, name =  'vName'..index, 'vnName'..index
  if not self.fields[val] then self.fields[val] = im.ArrayChar(1024, condition.progressKey or '') end
  if im.InputText("##"..'valueInput'..index, self.fields[val], 1024) then
  local val, name =  'vName'..index, 'vnName'..index
  if not self.fields[val] then self.fields[val] = im.ArrayChar(1024, condition.leagueId or '') end
  if im.InputText("##"..'valueInput'..index, self.fields[val], 1024) then
  local  val, name =  'vName'..index, 'vnName'..index
  if not self.fields[name] then self.fields[name] = im.ArrayChar(1024, condition.valueName) end
  if not self.fields[val] then self.fields[val] = im.FloatPtr(condition.value) end
  local name =  'manufacName'..index
  if not self.fields[name] then self.fields[name] = im.ArrayChar(1024, condition.value) end
  local editEnded = im.BoolPtr(false)
      if im.Selectable1(man..'##ManSelect'..idx..self.name, man == condition.value) then
        self.fields[name] = im.ArrayChar(1024, man)
        condition.value = man
@/lua/ge/extensions/editor/cosimulationSignalEditor.lua
local pingTime = im.FloatPtr(0.00001)                                                               -- The expected udp socket ping time.
local sIP, rIP = im.ArrayChar(16, "127.0.0.1"), im.ArrayChar(16, "127.0.0.1")                       -- The IP addresses for the udp communication (3rd party computer).
local sPort, rPort = im.IntPtr(64890), im.IntPtr(64891)                                             -- The port numbers for the udp communication.
local pingTime = im.FloatPtr(0.00001)                                                               -- The expected udp socket ping time.
local sIP, rIP = im.ArrayChar(16, "127.0.0.1"), im.ArrayChar(16, "127.0.0.1")                       -- The IP addresses for the udp communication (3rd party computer).
local sPort, rPort = im.IntPtr(64890), im.IntPtr(64891)                                             -- The port numbers for the udp communication.
          if d[2] == 'otherUDP' then
            if d[3] == 'IP' then sIP = im.ArrayChar(128, d[4]) end
            if d[3] == 'port' then sPort = im.IntPtr(tonumber(d[4])) end
          if d[2] == 'beamngUDP' then
            if d[3] == 'IP' then rIP = im.ArrayChar(128, d[4]) end
            if d[3] == 'port' then rPort = im.IntPtr(tonumber(d[4])) end
          if d[2] == 'otherUDP' then
            if d[3] == 'IP' then udpSendIP = ffi.string(im.ArrayChar(128, d[4])) or '127.0.0.1' end
            if d[3] == 'port' then udpSendPort = tonumber(d[4]) end
          if d[2] == 'beamngUDP' then
            if d[3] == 'IP' then udpReceiveIP = ffi.string(im.ArrayChar(128, d[4])) or '127.0.0.1' end
            if d[3] == 'port' then udpReceivePort = tonumber(d[4]) end
      im.InputText("###300", sIP)
      im.ArrayChar(128, "Server description")
      im.tooltip('Set the IP address on the 3rd party computer.')
@/lua/ge/extensions/editor/trafficManager.lua
  options = {
    sessionName = im.ArrayChar(256, session.name),
    sessionAuthor = im.ArrayChar(256, session.author),
    sessionName = im.ArrayChar(256, session.name),
    sessionAuthor = im.ArrayChar(256, session.author),
    sessionDescription = im.ArrayChar(4096, session.description),
    sessionAuthor = im.ArrayChar(256, session.author),
    sessionDescription = im.ArrayChar(4096, session.description),
    vehicleType = im.IntPtr(1),
    vehicleType = im.IntPtr(1),
    vehicleName = im.ArrayChar(128, ""),
    vehicleClass = im.ArrayChar(128, ""),
    vehicleName = im.ArrayChar(128, ""),
    vehicleClass = im.ArrayChar(128, ""),
    vehicleGroupEnabled = im.BoolPtr(false),
    vehicleGroupMode = im.IntPtr(1),
    vehicleGroupFile = im.ArrayChar(1024, ""),
    vehicleGroupRandomPaint = im.BoolPtr(false),
      if sessionData.aiData.scriptFile ~= nil then
        options.aiData.scriptFile = options.aiData.scriptFile or im.ArrayChar(1024, sessionData.aiData.scriptFile)
        if editor.uiInputFile("ScriptAi File##trafficManagerAi", options.aiData.scriptFile, nil, nil, {{"ScriptAI Recordings", {".track.json", ".json"}}}, im.InputTextFlags_EnterReturnsTrue) then
      if sessionData.aiData.flowgraphFile ~= nil then
        options.aiData.flowgraphFile = options.aiData.flowgraphFile or im.ArrayChar(1024, sessionData.aiData.flowgraphFile)
        if editor.uiInputFile("Flowgraph File##trafficManagerAi", options.aiData.flowgraphFile, nil, nil, {{"Flowgraphs", {".flow.json"}}}, im.InputTextFlags_EnterReturnsTrue) then
@/lua/common/extensions/ui/flowgraph/editor.lua
  if variable.type == 'string' then
    local imVal = im.ArrayChar(2048, displayOptions.allowEditing and variable.baseValue or variable.value)
    if im.InputText("##input" .. name, imVal, nil, im.InputTextFlags_EnterReturnsTrue) then
        im.Text("Rename Variable")
        local newNameArray = im.ArrayChar(32)
        if im.InputText("##RenameVariable", newNameArray, nil, im.flags(im.InputTextFlags_EnterReturnsTrue)) then
local vehSearch = require('/lua/ge/extensions/editor/util/searchUtil')()
local vehSearchTxt = im.ArrayChar(256, "")
local vehSearchDisplayResult = false
  else
    vehSearchTxt = im.ArrayChar(256)
    vehSearchResults = nil
@/lua/ge/extensions/flowgraph/nodes/ui/updatedUI/endScreenBegin.lua
  for i, btn in ipairs(self.options) do
    local txt = im.ArrayChar(64, btn)
    if im.InputText("##btn" .. i, txt, nil, im.InputTextFlags_EnterReturnsTrue) then
@/lua/ge/extensions/editor/tech/roadArchitect/junctions.lua
  local roadX1_I = roadMgr.createRoadFromProfile(profileX1_I)
  roadX1_I.displayName = im.ArrayChar(32, 'jct road 1')
  roadX1_I.isJctRoad = true
  local roadX2_I = roadMgr.createRoadFromProfile(profileX2_I)
  roadX2_I.displayName = im.ArrayChar(32, 'jct road 2')
  roadX2_I.isJctRoad = true
  local roadCR_X = roadMgr.createRoadFromProfile(profileCR_X)
  roadCR_X.displayName = im.ArrayChar(32, 'jct cross X')
  roadCR_X.isJctRoad = true
      {
        name = im.ArrayChar(32, 'traffic boom A'),
        isHidden = false,
      {
        name = im.ArrayChar(32, 'traffic boom B'),
        isHidden = false,
    local pedX = {
      name = im.ArrayChar(32, 'Ped X'),
      isHidden = false,
    profileX1_I.layers[#profileX1_I.layers + 1] = {
      name = im.ArrayChar(32, 'Ped X Sign L'),
      isHidden = false,
    profileX2_I.layers[#profileX2_I.layers + 1] = {
      name = im.ArrayChar(32, 'Ped X Sign R'),
      isHidden = false,
  local roadX1_I = roadMgr.createRoadFromProfile(profileX1_I)
  roadX1_I.displayName = im.ArrayChar(32, 'jct road 1')
  roadX1_I.isJctRoad = true
  local roadX2_I = roadMgr.createRoadFromProfile(profileX2_I)
  roadX2_I.displayName = im.ArrayChar(32, 'jct road 2')
  roadX2_I.isJctRoad = true
  local roadY1_I = roadMgr.createRoadFromProfile(profileY1_I)
  roadY1_I.displayName = im.ArrayChar(32, 'jct road 3')
  roadY1_I.isJctRoad = true
  local roadY2_I = roadMgr.createRoadFromProfile(profileY2_I)
  roadY2_I.displayName = im.ArrayChar(32, 'jct road 4')
  roadY2_I.isJctRoad = true
  local roadCR_X = roadMgr.createRoadFromProfile(profileCR_X)
  roadCR_X.displayName = im.ArrayChar(32, 'jct cross X')
  roadCR_X.isJctRoad = true
  local roadCR_Y = roadMgr.createRoadFromProfile(profileCR_Y)
  roadCR_Y.displayName = im.ArrayChar(32, 'jct cross Y')
  roadCR_Y.isJctRoad = true
  local roadX1_O = roadMgr.createRoadFromProfile(profileX1_O)
  roadX1_O.displayName = im.ArrayChar(32, 'jct road 5')
  roadX1_O.isJctRoad = true
  local roadX2_O = roadMgr.createRoadFromProfile(profileX2_O)
  roadX2_O.displayName = im.ArrayChar(32, 'jct road 6')
  roadX2_O.isJctRoad = true
  local roadY1_O = roadMgr.createRoadFromProfile(profileY1_O)
  roadY1_O.displayName = im.ArrayChar(32, 'jct road 7')
  roadY1_O.isJctRoad = true
  local roadY2_O = roadMgr.createRoadFromProfile(profileY2_O)
  roadY2_O.displayName = im.ArrayChar(32, 'jct road 8')
  roadY2_O.isJctRoad = true
    local roadTL_S = roadMgr.createRoadFromProfile(profileTL_S)
    roadTL_S.displayName = im.ArrayChar(32, 'jct s-walk TL')
    roadTL_S.isDrivable = false
    local roadTR_S = roadMgr.createRoadFromProfile(profileTR_S)
    roadTR_S.displayName = im.ArrayChar(32, 'jct s-walk TR')
    roadTR_S.isDrivable = false
    local roadBL_S = roadMgr.createRoadFromProfile(profileBL_S)
    roadBL_S.displayName = im.ArrayChar(32, 'jct s-walk BL')
    roadBL_S.isDrivable = false
    local roadBR_S = roadMgr.createRoadFromProfile(profileBR_S)
    roadBR_S.displayName = im.ArrayChar(32, 'jct s-walk BR')
    roadBR_S.isDrivable = false
      {
        name = im.ArrayChar(32, 'traffic boom A'),
        isHidden = false,
      {
        name = im.ArrayChar(32, 'traffic boom B'),
        isHidden = false,
      {
        name = im.ArrayChar(32, 'traffic boom C'),
        isHidden = false,
      {
        name = im.ArrayChar(32, 'traffic boom D'),
        isHidden = false,
        profileX1_O.layers[#profileX1_O.layers + 1] = {
          name = im.ArrayChar(32, 'Arrow X1 F' .. tostring(i)),
          isHidden = false,
        profileX2_O.layers[#profileX2_O.layers + 1] = {
          name = im.ArrayChar(32, 'Arrow X2 F' .. tostring(i)),
          isHidden = false,
          profileX1_O.layers[#profileX1_O.layers + 1] = {
            name = im.ArrayChar(32, 'Arrow X1 B' .. tostring(i)),
            isHidden = false,
          profileX2_O.layers[#profileX2_O.layers + 1] = {
            name = im.ArrayChar(32, 'Arrow X2 B' .. tostring(i)),
            isHidden = false,
          profileY1_O.layers[#profileY1_O.layers + 1] = {
            name = im.ArrayChar(32, 'Arrow Y1 F' .. tostring(i)),
            isHidden = false,
          profileY2_O.layers[#profileY2_O.layers + 1] = {
            name = im.ArrayChar(32, 'Arrow Y2 F' .. tostring(i)),
            isHidden = false,
            profileY1_O.layers[#profileY1_O.layers + 1] = {
              name = im.ArrayChar(32, 'Arrow Y1 B' .. tostring(i)),
              isHidden = false,
            profileY2_O.layers[#profileY2_O.layers + 1] = {
              name = im.ArrayChar(32, 'Arrow Y2 B' .. tostring(i)),
              isHidden = false,
    profileX1_O.layers[#profileX1_O.layers + 1] = {
      name = im.ArrayChar(32, 'Crossroads Sign X1'),
      isHidden = false,
    profileX2_O.layers[#profileX2_O.layers + 1] = {
      name = im.ArrayChar(32, 'Crossroads Sign X2'),
      isHidden = false,
    profileY1_O.layers[#profileY1_O.layers + 1] = {
      name = im.ArrayChar(32, 'Crossroads Sign Y1'),
      isHidden = false,
    profileY2_O.layers[#profileY2_O.layers + 1] = {
      name = im.ArrayChar(32, 'Crossroads Sign Y2'),
      isHidden = false,
    local pedX = {
      name = im.ArrayChar(32, 'Ped X - R1'),
      isHidden = false,
    local pedX = {
      name = im.ArrayChar(32, 'Ped X - R2'),
      isHidden = false,
    local pedX = {
      name = im.ArrayChar(32, 'Ped X - R3'),
      isHidden = false,
    local pedX = {
      name = im.ArrayChar(32, 'Ped X - R4'),
      isHidden = false,
  local roadX1_I = roadMgr.createRoadFromProfile(profileX1_I)
  roadX1_I.displayName = im.ArrayChar(32, 'jct road 1')
  roadX1_I.isJctRoad = true
  local roadX2_I = roadMgr.createRoadFromProfile(profileX2_I)
  roadX2_I.displayName = im.ArrayChar(32, 'jct road 2')
  roadX2_I.isJctRoad = true
  local roadY2_I = roadMgr.createRoadFromProfile(profileY2_I)
  roadY2_I.displayName = im.ArrayChar(32, 'jct road 3')
  roadY2_I.isJctRoad = true
  local roadCR_X = roadMgr.createRoadFromProfile(profileCR_X)
  roadCR_X.displayName = im.ArrayChar(32, 'jct cross X')
  roadCR_X.isJctRoad = true
  local roadX1_O = roadMgr.createRoadFromProfile(profileX1_O)
  roadX1_O.displayName = im.ArrayChar(32, 'jct road 4')
  roadX1_O.isJctRoad = true
  local roadX2_O = roadMgr.createRoadFromProfile(profileX2_O)
  roadX2_O.displayName = im.ArrayChar(32, 'jct road 5')
  roadX2_O.isJctRoad = true
  local roadY2_O = roadMgr.createRoadFromProfile(profileY2_O)
  roadY2_O.displayName = im.ArrayChar(32, 'jct road 6')
  roadY2_O.isJctRoad = true
    local roadT_S = roadMgr.createRoadFromProfile(profileT_S)
    roadT_S.displayName = im.ArrayChar(32, 'jct s-walk top')
    roadT_S.isDrivable = false
    local roadBL_S = roadMgr.createRoadFromProfile(profileBL_S)
    roadBL_S.displayName = im.ArrayChar(32, 'jct s-walk 2')
    roadBL_S.isDrivable = false
    local roadBR_S = roadMgr.createRoadFromProfile(profileBR_S)
    roadBR_S.displayName = im.ArrayChar(32, 'jct s-walk BR')
    roadBR_S.isDrivable = false
      {
        name = im.ArrayChar(32, 'traffic boom A'),
        isHidden = false,
      {
        name = im.ArrayChar(32, 'traffic boom B'),
        isHidden = false,
      {
        name = im.ArrayChar(32, 'traffic boom C'),
        isHidden = false,
        profileX1_O.layers[#profileX1_O.layers + 1] = {
          name = im.ArrayChar(32, 'Arrow X1 F' .. tostring(i)),
          isHidden = false,
        profileX2_O.layers[#profileX2_O.layers + 1] = {
          name = im.ArrayChar(32, 'Arrow X2 F' .. tostring(i)),
          isHidden = false,
          profileX1_O.layers[#profileX1_O.layers + 1] = {
            name = im.ArrayChar(32, 'Arrow X1 B' .. tostring(i)),
            isHidden = false,
          profileX2_O.layers[#profileX2_O.layers + 1] = {
            name = im.ArrayChar(32, 'Arrow X2 B' .. tostring(i)),
            isHidden = false,
        profileY2_O.layers[#profileY2_O.layers + 1] = {
          name = im.ArrayChar(32, 'Arrow Y2 F' .. tostring(i)),
          isHidden = false,
          profileY2_O.layers[#profileY2_O.layers + 1] = {
            name = im.ArrayChar(32, 'Arrow Y2 B' .. tostring(i)),
            isHidden = false,
    profileX1_O.layers[#profileX1_O.layers + 1] = {
      name = im.ArrayChar(32, 'T-Junction Sign X1'),
      isHidden = false,
    profileX2_O.layers[#profileX2_O.layers + 1] = {
      name = im.ArrayChar(32, 'T-Junction Sign X2'),
      isHidden = false,
    profileY2_O.layers[#profileY2_O.layers + 1] = {
      name = im.ArrayChar(32, 'T-Junction Sign Y2'),
      isHidden = false,
    local pedX = {
      name = im.ArrayChar(32, 'Ped X - R1'),
      isHidden = false,
    local pedX = {
      name = im.ArrayChar(32, 'Ped X - R2'),
      isHidden = false,
    local pedX = {
      name = im.ArrayChar(32, 'Ped X - R4'),
      isHidden = false,
  local roadCR_X = roadMgr.createRoadFromProfile(profileCR_X)
  roadCR_X.displayName = im.ArrayChar(32, 'jct cross X')
  roadCR_X.isJctRoad = true
  local roadX1_O = roadMgr.createRoadFromProfile(profileX1_O)
  roadX1_O.displayName = im.ArrayChar(32, 'jct road 4')
  roadX1_O.isJctRoad = true
  local roadX2_O = roadMgr.createRoadFromProfile(profileX2_O)
  roadX2_O.displayName = im.ArrayChar(32, 'jct road 5')
  roadX2_O.isJctRoad = true
  local roadY2_O = roadMgr.createRoadFromProfile(profileY2_O)
  roadY2_O.displayName = im.ArrayChar(32, 'jct road 6')
  roadY2_O.isJctRoad = true
  local roadY2_I1 = roadMgr.createRoadFromProfile(profileY2_I)
  roadY2_I1.displayName = im.ArrayChar(32, 'jct road 7')
  roadY2_I1.granFactor = im.IntPtr(2)
  local roadB_S = roadMgr.createRoadFromProfile(profileB_S)
  roadB_S.displayName = im.ArrayChar(32, 'jct s-walk btm')
  roadB_S.isDrivable = false
      {
        name = im.ArrayChar(32, 'traffic boom A'),
        isHidden = false,
      {
        name = im.ArrayChar(32, 'traffic boom B'),
        isHidden = false,
      {
        name = im.ArrayChar(32, 'traffic boom C'),
        isHidden = false,
        profileX1_O.layers[#profileX1_O.layers + 1] = {
          name = im.ArrayChar(32, 'Arrow X1 F' .. tostring(i)),
          isHidden = false,
        profileX2_O.layers[#profileX2_O.layers + 1] = {
          name = im.ArrayChar(32, 'Arrow X2 F' .. tostring(i)),
          isHidden = false,
          profileX1_O.layers[#profileX1_O.layers + 1] = {
            name = im.ArrayChar(32, 'Arrow X1 B' .. tostring(i)),
            isHidden = false,
          profileX2_O.layers[#profileX2_O.layers + 1] = {
            name = im.ArrayChar(32, 'Arrow X2 B' .. tostring(i)),
            isHidden = false,
        profileY2_O.layers[#profileY2_O.layers + 1] = {
          name = im.ArrayChar(32, 'Arrow Y2 F' .. tostring(i)),
          isHidden = false,
          profileY2_O.layers[#profileY2_O.layers + 1] = {
            name = im.ArrayChar(32, 'Arrow Y2 B' .. tostring(i)),
            isHidden = false,
    profileX1_O.layers[#profileX1_O.layers + 1] = {
      name = im.ArrayChar(32, 'T-Junction Sign X1'),
      isHidden = false,
    profileX2_O.layers[#profileX2_O.layers + 1] = {
      name = im.ArrayChar(32, 'T-Junction Sign X2'),
      isHidden = false,
    profileY2_O.layers[#profileY2_O.layers + 1] = {
      name = im.ArrayChar(32, 'T-Junction Sign Y2'),
      isHidden = false,
    local pedX = {
      name = im.ArrayChar(32, 'Ped X - R1'),
      isHidden = false,
    local pedX = {
      name = im.ArrayChar(32, 'Ped X - R2'),
      isHidden = false,
    local pedX = {
      name = im.ArrayChar(32, 'Ped X - R4'),
      isHidden = false,
  local roadX1_I = roadMgr.createRoadFromProfile(profileX1_I)
  roadX1_I.displayName = im.ArrayChar(32, 'jct road 1')
  roadX1_I.isJctRoad = true
  local roadX2_I = roadMgr.createRoadFromProfile(profileX2_I)
  roadX2_I.displayName = im.ArrayChar(32, 'jct road 2')
  roadX2_I.isJctRoad = true
  local roadY1_I = roadMgr.createRoadFromProfile(profileY1_I)
  roadY1_I.displayName = im.ArrayChar(32, 'jct road 3')
  roadY1_I.isJctRoad = true
  local roadY2_I = roadMgr.createRoadFromProfile(profileY2_I)
  roadY2_I.displayName = im.ArrayChar(32, 'jct road 4')
  roadY2_I.isJctRoad = true
  local roadX1_O = roadMgr.createRoadFromProfile(profileX1_O)
  roadX1_O.displayName = im.ArrayChar(32, 'jct road 5')
  roadX1_O.isJctRoad = true
  local roadX2_O = roadMgr.createRoadFromProfile(profileX2_O)
  roadX2_O.displayName = im.ArrayChar(32, 'jct road 6')
  roadX2_O.isJctRoad = true
  local roadY1_O = roadMgr.createRoadFromProfile(profileY1_O)
  roadY1_O.displayName = im.ArrayChar(32, 'jct road 7')
  roadY1_O.isJctRoad = true
  local roadY2_O = roadMgr.createRoadFromProfile(profileY2_O)
  roadY2_O.displayName = im.ArrayChar(32, 'jct road 8')
  roadY2_O.isJctRoad = true
  local roadRB_1 = roadMgr.createRoadFromProfile(profileRB_1)
  roadRB_1.displayName = im.ArrayChar(32, 'circular 1')
  roadRB_1.isJctRoad = true
  local roadRB_2 = roadMgr.createRoadFromProfile(profileRB_2)
  roadRB_2.displayName = im.ArrayChar(32, 'circular 2')
  roadRB_2.isJctRoad = true
    local roadTL_S = roadMgr.createRoadFromProfile(profileTL_S)
    roadTL_S.displayName = im.ArrayChar(32, 'jct s-walk TL')
    roadTL_S.isDrivable = false
    local roadTR_S = roadMgr.createRoadFromProfile(profileTR_S)
    roadTR_S.displayName = im.ArrayChar(32, 'jct s-walk TR')
    roadTR_S.isDrivable = false
    local roadBL_S = roadMgr.createRoadFromProfile(profileBL_S)
    roadBL_S.displayName = im.ArrayChar(32, 'jct s-walk BL')
    roadBL_S.isDrivable = false
    local roadBR_S = roadMgr.createRoadFromProfile(profileBR_S)
    roadBR_S.displayName = im.ArrayChar(32, 'jct s-walk BR')
    roadBR_S.isDrivable = false
      {
        name = im.ArrayChar(32, 'traffic boom A'),
        isHidden = false,
      {
        name = im.ArrayChar(32, 'traffic boom B'),
        isHidden = false,
      {
        name = im.ArrayChar(32, 'traffic boom C'),
        isHidden = false,
      {
        name = im.ArrayChar(32, 'traffic boom D'),
        isHidden = false,
    profileX1_O.layers[#profileX1_O.layers + 1] = {
      name = im.ArrayChar(32, 'Roundabout Sign X1'),
      isHidden = false,
    profileX2_O.layers[#profileX2_O.layers + 1] = {
      name = im.ArrayChar(32, 'Roundabout Sign X2'),
      isHidden = false,
    profileY1_O.layers[#profileY1_O.layers + 1] = {
      name = im.ArrayChar(32, 'Roundabout Sign Y1'),
      isHidden = false,
    profileY2_O.layers[#profileY2_O.layers + 1] = {
      name = im.ArrayChar(32, 'Roundabout Sign Y2'),
      isHidden = false,
        profileX1_O.layers[#profileX1_O.layers + 1] = {
          name = im.ArrayChar(32, 'Arrow X1 F' .. tostring(i)),
          isHidden = false,
        profileX2_O.layers[#profileX2_O.layers + 1] = {
          name = im.ArrayChar(32, 'Arrow X2 F' .. tostring(i)),
          isHidden = false,
          profileX1_O.layers[#profileX1_O.layers + 1] = {
            name = im.ArrayChar(32, 'Arrow X1 B' .. tostring(i)),
            isHidden = false,
          profileX2_O.layers[#profileX2_O.layers + 1] = {
            name = im.ArrayChar(32, 'Arrow X2 B' .. tostring(i)),
            isHidden = false,
        profileY1_O.layers[#profileY1_O.layers + 1] = {
          name = im.ArrayChar(32, 'Arrow Y1 F' .. tostring(i)),
          isHidden = false,
        profileY2_O.layers[#profileY2_O.layers + 1] = {
          name = im.ArrayChar(32, 'Arrow Y2 F' .. tostring(i)),
          isHidden = false,
          profileY1_O.layers[#profileY1_O.layers + 1] = {
            name = im.ArrayChar(32, 'Arrow Y1 B' .. tostring(i)),
            isHidden = false,
          profileY2_O.layers[#profileY2_O.layers + 1] = {
            name = im.ArrayChar(32, 'Arrow Y2 B' .. tostring(i)),
            isHidden = false,
    local pedX = {
      name = im.ArrayChar(32, 'Ped X - R1'),
      isHidden = false,
    local pedX = {
      name = im.ArrayChar(32, 'Ped X - R2'),
      isHidden = false,
    local pedX = {
      name = im.ArrayChar(32, 'Ped X - R3'),
      isHidden = false,
    local pedX = {
      name = im.ArrayChar(32, 'Ped X - R4'),
      isHidden = false,
  local roadX1_O = roadMgr.createRoadFromProfile(profileX1_O)
  roadX1_O.displayName = im.ArrayChar(32, 'jct road 1')
  roadX1_O.isJctRoad = true
  local roadX2_O = roadMgr.createRoadFromProfile(profileX2_O)
  roadX2_O.displayName = im.ArrayChar(32, 'jct road 2')
  roadX2_O.isJctRoad = true
  local roadX3_O = roadMgr.createRoadFromProfile(profileX3_O)
  roadX3_O.displayName = im.ArrayChar(32, 'jct road 3')
  roadX3_O.isJctRoad = true
  local roadS1 = roadMgr.createRoadFromProfile(profileS1)
  roadS1.displayName = im.ArrayChar(32, 'jct - section1')
  roadS1.isJctRoad = true
  local roadS3 = roadMgr.createRoadFromProfile(profileS3)
  roadS3.displayName = im.ArrayChar(32, 'jct - section3')
  roadS3.isJctRoad = true
  local roadS2 = roadMgr.createRoadFromProfile(profileS2)
  roadS2.displayName = im.ArrayChar(32, 'jct - section2')
  roadS2.granFactor = im.IntPtr(2)
  local roadS1 = roadMgr.createRoadFromProfile(profileS1)
  roadS1.displayName = im.ArrayChar(32, 'jct - section1')
  roadS1.isJctRoad = true
  local roadS3 = roadMgr.createRoadFromProfile(profileS3)
  roadS3.displayName = im.ArrayChar(32, 'jct - section3')
  roadS3.isJctRoad = true
  local roadS2 = roadMgr.createRoadFromProfile(profileS2)
  roadS2.displayName = im.ArrayChar(32, 'jct - section2')
  roadS2.granFactor = im.IntPtr(2)
  profileS1.layers[#profileS1.layers + 1] = {
    name = im.ArrayChar(32, 'Edge line S1_1'),
    isHidden = false,
  profileS1.layers[#profileS1.layers + 1] = {
    name = im.ArrayChar(32, 'Edge line S1_2'),
    isHidden = false,
  profileS1.layers[#profileS1.layers + 1] = {
    name = im.ArrayChar(32, 'Edge line S1_3'),
    isHidden = false,
  profileS1.layers[#profileS1.layers + 1] = {
    name = im.ArrayChar(32, 'Edge line S1_4'),
    isHidden = false,
  profileS2.layers[#profileS2.layers + 1] = {
    name = im.ArrayChar(32, 'Edge line S2_1'),
    isHidden = false,
  profileS2.layers[#profileS2.layers + 1] = {
    name = im.ArrayChar(32, 'Edge line S2_2'),
    isHidden = false,
  profileS2.layers[#profileS2.layers + 1] = {
    name = im.ArrayChar(32, 'Edge line S2_3'),
    isHidden = false,
  profileS2.layers[#profileS2.layers + 1] = {
    name = im.ArrayChar(32, 'Edge line S2_4'),
    isHidden = false,
  profileS3.layers[#profileS3.layers + 1] = {
    name = im.ArrayChar(32, 'Edge line S3_1'),
    isHidden = false,
  profileS3.layers[#profileS3.layers + 1] = {
    name = im.ArrayChar(32, 'Edge line S3_2'),
    isHidden = false,
  profileS3.layers[#profileS3.layers + 1] = {
    name = im.ArrayChar(32, 'Edge line S3_3'),
    isHidden = false,
  profileS3.layers[#profileS3.layers + 1] = {
    name = im.ArrayChar(32, 'Edge line S3_4'),
    isHidden = false,
    profileS1.layers[#profileS1.layers + 1] = {
      name = im.ArrayChar(32, 'Barrier L2'),
      isHidden = false,
    profileS1.layers[#profileS1.layers + 1] = {
      name = im.ArrayChar(32, 'Barrier R2'),
      isHidden = false,
    profileS2.layers[#profileS2.layers + 1] = {
      name = im.ArrayChar(32, 'Barrier L2'),
      isHidden = false,
    profileS2.layers[#profileS2.layers + 1] = {
      name = im.ArrayChar(32, 'Barrier R2'),
      isHidden = false,
    profileS3.layers[#profileS3.layers + 1] = {
      name = im.ArrayChar(32, 'Barrier L2'),
      isHidden = false,
    profileS3.layers[#profileS3.layers + 1] = {
      name = im.ArrayChar(32, 'Barrier R2'),
      isHidden = false,
    profileS1.layers[#profileS1.layers + 1] = {
      name = im.ArrayChar(32, 'Barrier L1'),
      isHidden = false,
    profileS1.layers[#profileS1.layers + 1] = {
      name = im.ArrayChar(32, 'Barrier R1'),
      isHidden = false,
    profileS2.layers[#profileS2.layers + 1] = {
      name = im.ArrayChar(32, 'Barrier L1'),
      isHidden = false,
    profileS2.layers[#profileS2.layers + 1] = {
      name = im.ArrayChar(32, 'Barrier R1'),
      isHidden = false,
    profileS3.layers[#profileS3.layers + 1] = {
      name = im.ArrayChar(32, 'Barrier L1'),
      isHidden = false,
    profileS3.layers[#profileS3.layers + 1] = {
      name = im.ArrayChar(32, 'Barrier R1'),
      isHidden = false,
    profileS2.layers[#profileS2.layers + 1] = {
      name = im.ArrayChar(32, 'Merge Sign'),
      isHidden = false,
    profileS3.layers[#profileS3.layers + 1] = {
      name = im.ArrayChar(32, 'Merge Sign R'),
      isHidden = false,
  local roadS1 = roadMgr.createRoadFromProfile(profileS1)
  roadS1.displayName = im.ArrayChar(32, 'jct - section1')
  roadS1.isJctRoad = true
  local roadS3 = roadMgr.createRoadFromProfile(profileS3)
  roadS3.displayName = im.ArrayChar(32, 'jct - section3')
  roadS3.isJctRoad = true
  local roadS2 = roadMgr.createRoadFromProfile(profileS2)
  roadS2.displayName = im.ArrayChar(32, 'jct - section2')
  roadS2.granFactor = im.IntPtr(2)
    local newLayer = {
      name = im.ArrayChar(32, 'Separator'),
      isHidden = false,
  profileS1.layers[#profileS1.layers + 1] = {
    name = im.ArrayChar(32, 'Barrier L2'),
    isHidden = false,
  profileS1.layers[#profileS1.layers + 1] = {
    name = im.ArrayChar(32, 'Barrier R2'),
    isHidden = false,
  profileS1.layers[#profileS1.layers + 1] = {
    name = im.ArrayChar(32, 'Barrier L1'),
    isHidden = false,
  profileS1.layers[#profileS1.layers + 1] = {
    name = im.ArrayChar(32, 'Barrier R1'),
    isHidden = false,
  profileS2.layers[#profileS2.layers + 1] = {
    name = im.ArrayChar(32, 'Barrier L1'),
    isHidden = false,
  profileS2.layers[#profileS2.layers + 1] = {
    name = im.ArrayChar(32, 'Barrier R1'),
    isHidden = false,
    profileS2.layers[#profileS2.layers + 1] = {
      name = im.ArrayChar(32, 'Keep Right Sign F'),
      isHidden = false,
    profileS2.layers[#profileS2.layers + 1] = {
      name = im.ArrayChar(32, 'Keep Right Sign B'),
      isHidden = false,
    profileS2.layers[#profileS2.layers + 1] = {
      name = im.ArrayChar(32, 'Road Narrows Sign F'),
      isHidden = false,
    profileS2.layers[#profileS2.layers + 1] = {
      name = im.ArrayChar(32, 'Road Narrows Sign B'),
      isHidden = false,
  local roadS1 = roadMgr.createRoadFromProfile(profileS1)
  roadS1.displayName = im.ArrayChar(32, 'jct - section1')
  roadS1.isJctRoad = true
  local roadS2A = roadMgr.createRoadFromProfile(profileS2A)
  roadS2A.displayName = im.ArrayChar(32, 'jct - section2A')
  roadS2A.isJctRoad = true
  local roadS2B = roadMgr.createRoadFromProfile(profileS2B)
  roadS2B.displayName = im.ArrayChar(32, 'jct - section2B')
  roadS2B.isJctRoad = true
    profileS1.layers[#profileS1.layers + 1] = {
      name = im.ArrayChar(32, 'Barrier L2'),
      isHidden = false,
    profileS1.layers[#profileS1.layers + 1] = {
      name = im.ArrayChar(32, 'Barrier R2'),
      isHidden = false,
    profileS2A.layers[#profileS2A.layers + 1] = {
      name = im.ArrayChar(32, 'Barrier L2'),
      isHidden = false,
    profileS2B.layers[#profileS2B.layers + 1] = {
      name = im.ArrayChar(32, 'Barrier R2'),
      isHidden = false,
    profileS1.layers[#profileS1.layers + 1] = {
      name = im.ArrayChar(32, 'Barrier L1'),
      isHidden = false,
    profileS1.layers[#profileS1.layers + 1] = {
      name = im.ArrayChar(32, 'Barrier R1'),
      isHidden = false,
    profileS2A.layers[#profileS2A.layers + 1] = {
      name = im.ArrayChar(32, 'Barrier L1'),
      isHidden = false,
    profileS2B.layers[#profileS2B.layers + 1] = {
      name = im.ArrayChar(32, 'Barrier R1'),
      isHidden = false,
  local roadS1 = roadMgr.createRoadFromProfile(profileS1)
  roadS1.displayName = im.ArrayChar(32, 'jct - section1')
  roadS1.isJctRoad = true
  local roadS2 = roadMgr.createRoadFromProfile(profileS2)
  roadS2.displayName = im.ArrayChar(32, 'jct - section2')
  roadS2.granFactor = im.IntPtr(2)
  local roadS1 = roadMgr.createRoadFromProfile(profileS1)
  roadS1.displayName = im.ArrayChar(32, 'jct - section1')
  roadS1.isJctRoad = true
  local roadS2A = roadMgr.createRoadFromProfile(profileS2A)
  roadS2A.displayName = im.ArrayChar(32, 'jct - section2A')
  roadS2A.isJctRoad = true
  local roadS2B = roadMgr.createRoadFromProfile(profileS2B)
  roadS2B.displayName = im.ArrayChar(32, 'jct - section2B')
  roadS2B.isJctRoad = true
    {
      name = im.ArrayChar(32, 'Edge Blend Inner L'),
      doNotDelete = im.BoolPtr(true),
    {
      name = im.ArrayChar(32, 'Edge Blend Inner R'),
      doNotDelete = im.BoolPtr(true),
    {
      name = im.ArrayChar(32, 'Edge Blend Outer L'),
      doNotDelete = im.BoolPtr(true),
    {
      name = im.ArrayChar(32, 'Edge Blend Outer R'),
      doNotDelete = im.BoolPtr(true),
  local roadS1 = roadMgr.createRoadFromProfile(profileS1)
  roadS1.displayName = im.ArrayChar(32, 'jct - section1')
  roadS1.isJctRoad = true
  local roadS4 = roadMgr.createRoadFromProfile(profileS4)
  roadS4.displayName = im.ArrayChar(32, 'jct - section4')
  roadS4.isJctRoad = true
  local roadS2 = roadMgr.createRoadFromProfile(profileS2)
  roadS2.displayName = im.ArrayChar(32, 'jct - section2')
  roadS2.isJctRoad = true
  local roadS3 = roadMgr.createRoadFromProfile(profileS3)
  roadS3.displayName = im.ArrayChar(32, 'jct - section3')
  roadS3.granFactor = im.IntPtr(3)
  local roadEL = roadMgr.createRoadFromProfile(profileEL)
  roadEL.displayName = im.ArrayChar(32, 'jct - exit 1')
  roadEL.granFactor = im.IntPtr(3)
  local roadER = roadMgr.createRoadFromProfile(profileER)
  roadER.displayName = im.ArrayChar(32, 'jct - exit 2')
  roadER.granFactor = im.IntPtr(3)
  local newLayer = {
    name = im.ArrayChar(32, 'Separator L'),
    isHidden = false,
  local newLayer = {
    name = im.ArrayChar(32, 'Separator R'),
    isHidden = false,
  profileS1.layers[#profileS1.layers + 1] = {
    name = im.ArrayChar(32, 'Edge line S1_1'),
    isHidden = false,
  profileS1.layers[#profileS1.layers + 1] = {
    name = im.ArrayChar(32, 'Edge line S1_2'),
    isHidden = false,
  profileS1.layers[#profileS1.layers + 1] = {
    name = im.ArrayChar(32, 'Edge line S1_3'),
    isHidden = false,
  profileS1.layers[#profileS1.layers + 1] = {
    name = im.ArrayChar(32, 'Edge line S1_4'),
    isHidden = false,
  profileS4.layers[#profileS4.layers + 1] = {
    name = im.ArrayChar(32, 'Edge line S4_1'),
    isHidden = false,
  profileS4.layers[#profileS4.layers + 1] = {
    name = im.ArrayChar(32, 'Edge line S4_2'),
    isHidden = false,
  profileS4.layers[#profileS4.layers + 1] = {
    name = im.ArrayChar(32, 'Edge line S4_3'),
    isHidden = false,
  profileS4.layers[#profileS4.layers + 1] = {
    name = im.ArrayChar(32, 'Edge line S4_4'),
    isHidden = false,
  profileS2.layers[#profileS2.layers + 1] = {
    name = im.ArrayChar(32, 'Edge line S2_1'),
    isHidden = false,
  profileS2.layers[#profileS2.layers + 1] = {
    name = im.ArrayChar(32, 'Edge line S2_2'),
    isHidden = false,
  profileS2.layers[#profileS2.layers + 1] = {
    name = im.ArrayChar(32, 'Edge line S2_3'),
    isHidden = false,
  profileS2.layers[#profileS2.layers + 1] = {
    name = im.ArrayChar(32, 'Edge line S2_4'),
    isHidden = false,
  profileS3.layers[#profileS3.layers + 1] = {
    name = im.ArrayChar(32, 'Edge line S3_1'),
    isHidden = false,
  profileS3.layers[#profileS3.layers + 1] = {
    name = im.ArrayChar(32, 'Edge line S3_2'),
    isHidden = false,
  profileS3.layers[#profileS3.layers + 1] = {
    name = im.ArrayChar(32, 'Edge line S3_3'),
    isHidden = false,
  profileS3.layers[#profileS3.layers + 1] = {
    name = im.ArrayChar(32, 'Edge line S3_4'),
    isHidden = false,
  profileS3.layers[#profileS3.layers + 1] = {
    name = im.ArrayChar(32, 'Edge line S3_5'),
    isHidden = false,
  profileS3.layers[#profileS3.layers + 1] = {
    name = im.ArrayChar(32, 'Edge line S3_6'),
    isHidden = false,
  profileS3.layers[#profileS3.layers + 1] = {
    name = im.ArrayChar(32, 'Edge line S3_7'),
    isHidden = false,
  profileS3.layers[#profileS3.layers + 1] = {
    name = im.ArrayChar(32, 'Edge line S3_8'),
    isHidden = false,
  profileEL.layers[#profileEL.layers + 1] = {
    name = im.ArrayChar(32, 'Edge line EL_1'),
    isHidden = false,
  profileEL.layers[#profileEL.layers + 1] = {
    name = im.ArrayChar(32, 'Edge line EL_2'),
    isHidden = false,
  profileER.layers[#profileER.layers + 1] = {
    name = im.ArrayChar(32, 'Edge line ER_1'),
    isHidden = false,
  profileER.layers[#profileER.layers + 1] = {
    name = im.ArrayChar(32, 'Edge line ER_2'),
    isHidden = false,
    profileS1.layers[#profileS1.layers + 1] = {
      name = im.ArrayChar(32, 'Barrier L2'),
      isHidden = false,
    profileS1.layers[#profileS1.layers + 1] = {
      name = im.ArrayChar(32, 'Barrier R2'),
      isHidden = false,
    profileS2.layers[#profileS2.layers + 1] = {
      name = im.ArrayChar(32, 'Barrier L2'),
      isHidden = false,
    profileS2.layers[#profileS2.layers + 1] = {
      name = im.ArrayChar(32, 'Barrier R2'),
      isHidden = false,
    profileS3.layers[#profileS3.layers + 1] = {
      name = im.ArrayChar(32, 'Barrier L2'),
      isHidden = false,
    profileS3.layers[#profileS3.layers + 1] = {
      name = im.ArrayChar(32, 'Barrier R2'),
      isHidden = false,
    profileS4.layers[#profileS4.layers + 1] = {
      name = im.ArrayChar(32, 'Barrier L2'),
      isHidden = false,
    profileS4.layers[#profileS4.layers + 1] = {
      name = im.ArrayChar(32, 'Barrier R2'),
      isHidden = false,
    profileS1.layers[#profileS1.layers + 1] = {
      name = im.ArrayChar(32, 'Barrier L1'),
      isHidden = false,
    profileS1.layers[#profileS1.layers + 1] = {
      name = im.ArrayChar(32, 'Barrier R1'),
      isHidden = false,
    profileS2.layers[#profileS2.layers + 1] = {
      name = im.ArrayChar(32, 'Barrier L1'),
      isHidden = false,
    profileS2.layers[#profileS2.layers + 1] = {
      name = im.ArrayChar(32, 'Barrier R1'),
      isHidden = false,
    profileS3.layers[#profileS3.layers + 1] = {
      name = im.ArrayChar(32, 'Barrier L1'),
      isHidden = false,
    profileS3.layers[#profileS3.layers + 1] = {
      name = im.ArrayChar(32, 'Barrier R1'),
      isHidden = false,
    profileS3.layers[#profileS3.layers + 1] = {
      name = im.ArrayChar(32, 'Pass Either Side Sign R'),
      isHidden = false,
    profileS3.layers[#profileS3.layers + 1] = {
      name = im.ArrayChar(32, 'Merge Sign R'),
      isHidden = false,
    junctions[#junctions + 1] = {
      name = im.ArrayChar(32, 'New Crossing'),
      type = 'crossing',
  local roadX1_I = roadMgr.createRoadFromProfile(profileX1_I)
  roadX1_I.displayName = im.ArrayChar(32, 'temp - jct construct 1')
  roadX1_I.isJctRoad = true
  local roadX2_I = roadMgr.createRoadFromProfile(profileX2_I)
  roadX2_I.displayName = im.ArrayChar(32, 'temp - jct construct 1')
  roadX2_I.isJctRoad = true
    junctions[#junctions + 1] = {
      name = im.ArrayChar(32, 'New Crossroads'),
      type = 'crossroads',
  local roadX1_I = roadMgr.createRoadFromProfile(profileX1_I)
  roadX1_I.displayName = im.ArrayChar(32, 'temp - jct construct 1')
  roadX1_I.isJctRoad = true
  local roadX2_I = roadMgr.createRoadFromProfile(profileX2_I)
  roadX2_I.displayName = im.ArrayChar(32, 'temp - jct construct 1')
  roadX2_I.isJctRoad = true
    junctions[#junctions + 1] = {
      name = im.ArrayChar(32, 'New T-Junction'),
      type = 't-junction',
  local roadX1_I = roadMgr.createRoadFromProfile(profileX1_I)
  roadX1_I.displayName = im.ArrayChar(32, 'jct road 1')
  roadX1_I.isJctRoad = true
  local roadX2_I = roadMgr.createRoadFromProfile(profileX2_I)
  roadX2_I.displayName = im.ArrayChar(32, 'jct road 2')
  roadX2_I.isJctRoad = true
    junctions[#junctions + 1] = {
      name = im.ArrayChar(32, 'New Y-Junction'),
      type = 'y-junction',
  local roadX1_I = roadMgr.createRoadFromProfile(profileX1_I)
  roadX1_I.displayName = im.ArrayChar(32, 'jct road 1')
  roadX1_I.isJctRoad = true
  local roadX2_I = roadMgr.createRoadFromProfile(profileX2_I)
  roadX2_I.displayName = im.ArrayChar(32, 'jct road 2')
  roadX2_I.isJctRoad = true
    junctions[#junctions + 1] = {
      name = im.ArrayChar(32, 'New Roundabout'),
      type = 'roundabout',
  local roadX1_I = roadMgr.createRoadFromProfile(profileX1_I)
  roadX1_I.displayName = im.ArrayChar(32, 'jct road 1')
  roadX1_I.isJctRoad = true
  local roadX2_I = roadMgr.createRoadFromProfile(profileX2_I)
  roadX2_I.displayName = im.ArrayChar(32, 'jct road 2')
  roadX2_I.isJctRoad = true
    junctions[#junctions + 1] = {
      name = im.ArrayChar(32, 'New Sidewalk Urban Transition Junction'),
      type = 'rural_urban_transition',
  local roadX3_I = roadMgr.createRoadFromProfile(profileX3_I)
  roadX3_I.displayName = im.ArrayChar(32, 'temp - jct construct 3')
  roadX3_I.isJctRoad = true
    junctions[#junctions + 1] = {
      name = im.ArrayChar(32, 'New Urban Merge'),
      type = 'urban_merge',
  local roadX1_I = roadMgr.createRoadFromProfile(profileX1_I)
  roadX1_I.displayName = im.ArrayChar(32, 'temp - jct construct 1')
  roadX1_I.isJctRoad = true
  local roadX2_I = roadMgr.createRoadFromProfile(profileX2_I)
  roadX2_I.displayName = im.ArrayChar(32, 'temp - jct construct 1')
  roadX2_I.isJctRoad = true
    junctions[#junctions + 1] = {
      name = im.ArrayChar(32, 'New Urban Separator'),
      type = 'urban_separator',
  local roadX1_I = roadMgr.createRoadFromProfile(profileX1_I)
  roadX1_I.displayName = im.ArrayChar(32, 'temp - jct construct 1')
  roadX1_I.isJctRoad = true
    junctions[#junctions + 1] = {
      name = im.ArrayChar(32, 'New Highway Merge'),
      type = 'highway_merge',
  local roadX1_I = roadMgr.createRoadFromProfile(profileX1_I)
  roadX1_I.displayName = im.ArrayChar(32, 'temp - jct construct 1')
  roadX1_I.isJctRoad = true
  local roadX2_I = roadMgr.createRoadFromProfile(profileX2_I)
  roadX2_I.displayName = im.ArrayChar(32, 'temp - jct construct 1')
  roadX2_I.isJctRoad = true
    junctions[#junctions + 1] = {
      name = im.ArrayChar(32, 'New Hwy/Urban Transition'),
      type = 'highway_urban_transition',
  local roadS2 = roadMgr.createRoadFromProfile(profileS2)
  roadS2.displayName = im.ArrayChar(32, 'temp - jct construct 1')
  roadS2.granFactor = im.IntPtr(2)
    junctions[#junctions + 1] = {
      name = im.ArrayChar(32, 'New Highway Separator'),
      type = 'highway_separator',
  local roadX1_I = roadMgr.createRoadFromProfile(profileX1_I)
  roadX1_I.displayName = im.ArrayChar(32, 'temp - jct construct 1')
  roadX1_I.isJctRoad = true
    junctions[#junctions + 1] = {
      name = im.ArrayChar(32, 'New Shoulder Fade'),
      type = 'shoulder_fade',
  local roadX1_I = roadMgr.createRoadFromProfile(profileX1_I)
  roadX1_I.displayName = im.ArrayChar(32, 'temp - jct construct 1')
  roadX1_I.isJctRoad = true
  local roadX2_I = roadMgr.createRoadFromProfile(profileX2_I)
  roadX2_I.displayName = im.ArrayChar(32, 'temp - jct construct 1')
  roadX2_I.isJctRoad = true
    junctions[#junctions + 1] = {
      name = im.ArrayChar(32, 'New Highway Slip'),
      type = 'highway_slip',
  local roadX1_I = roadMgr.createRoadFromProfile(profileX1_I)
  roadX1_I.displayName = im.ArrayChar(32, 'temp - jct construct 1')
  roadX1_I.isJctRoad = true
  local roadX2_I = roadMgr.createRoadFromProfile(profileX2_I)
  roadX2_I.displayName = im.ArrayChar(32, 'temp - jct construct 1')
  roadX2_I.isJctRoad = true
        if jR.isOverlay then
          jR.displayName = im.ArrayChar(32, 'Overlay ' .. tostring(i))
        else
        else
          jR.displayName = im.ArrayChar(32, jctName .. ' R' .. tostring(i))
        end
  return {
    name = im.ArrayChar(32, ffi.string(jct.name)),
    type = jct.type,
  return {
    name = im.ArrayChar(32, jSer.name),
    type = jSer.type,
  local newRoad = roadMgr.createRoadFromProfile(profileMgr.copyProfile(r1.profile))
  newRoad.displayName = im.ArrayChar(32, 'Joined Road')
  local nodes = {}
  cRoad.isDrivable = false
  cRoad.displayName = im.ArrayChar(32, 'Jct Overlay')
  local rIdx = #roads + 1
  cRoad.isDrivable = false
  cRoad.displayName = im.ArrayChar(32, 'Jct Overlay')
  local rIdx = #roads + 1
@/lua/ge/extensions/flowgraph/nodes/gameplay/sites/location.lua
  for i, btn in ipairs(self.options) do
    local txt = im.ArrayChar(64, btn)
    if im.InputText("##btn" .. i, txt, nil, im.InputTextFlags_EnterReturnsTrue) then
@/lua/ge/extensions/editor/raceEditor/pacenotes.lua
local pacenoteRadius = im.FloatPtr(0)
local nameText = im.ArrayChar(1024, "")
local noteText = im.ArrayChar(2048, "")
local nameText = im.ArrayChar(1024, "")
local noteText = im.ArrayChar(2048, "")
    local note = self.path.pacenotes.objects[id]
    nameText = im.ArrayChar(1024, note.name)
    self:updateTransform(id)
    self:updateTransform(id)
    noteText = im.ArrayChar(2048, note.note)
  else
    end
    noteText = im.ArrayChar(2048, "")
  end
@/lua/ge/extensions/editor/flowgraph/properties.lua
    if not cdata[path] then
      cdata[path] = im.ArrayChar(8192, v)
    end
    if editor.uiIconImageButton(editor.icons.format_line_spacing, im.ImVec2(22,22)) then
      self._editMultilineText = {saveCallback = saveCallback, buf = im.ArrayChar(8192, v), pos = im.GetCursorScreenPos()}
    end
  self._editCustomProperties = {}
  self._editCustomProperties.name = im.ArrayChar(256, tostring(item.customName or item.name or ''))
  --self._editCustomProperties.icon = im.ArrayChar(256, tostring(item.customIcon or item.icon or ''))
  self._editCustomProperties.name = im.ArrayChar(256, tostring(item.customName or item.name or ''))
  --self._editCustomProperties.icon = im.ArrayChar(256, tostring(item.customIcon or item.icon or ''))
  local imVal = im.ArrayFloat(4)
        else
          local textinput = im.ArrayChar(256, tostring(pin.name or ''))
          if im.InputText('##Name' .. pin.id, textinput, 256, im.InputTextFlags_EnterReturnsTrue) then
            else
              textinput = im.ArrayChar(256, tostring(pin.name or ''))
            end
        else
          local textinput = im.ArrayChar(256, tostring(pin.name or ''))
          if im.InputText('##Name' .. pin.id, textinput, 256, im.InputTextFlags_EnterReturnsTrue) then
            else
              textinput = im.ArrayChar(256, tostring(pin.name or ''))
            end
  for i,k in pairs(self.mgr.macroTags) do
    local textinput = im.ArrayChar(256, tostring(k or ''))
    im.PushItemWidth(100)
  im.PushItemWidth(im.GetContentRegionAvailWidth())
  local textinput = im.ArrayChar(256, tostring(graph.name or ''))
  local editEnded = im.BoolPtr(false)
  im.NextColumn()
  local textinput = im.ArrayChar(512, tostring(graph.description or ''))
  local editEnded = im.BoolPtr(false)
        if not self.macroTagField then
          self.macroTagField = im.ArrayChar(128)
        end
          end
          self.macroTagField = im.ArrayChar(128)
          self.fgEditor.addHistory("Added tag " .. ffi.string(self.macroTagField) .. " to macro")
@/lua/ge/extensions/editor/rallyEditor/pacenotes/pacenoteForm.lua
  local editEnded = im.BoolPtr(false)
  -- local freeformBefore = im.ArrayChar(1024, pacenote:getNoteFieldBefore())
  local freeformNote   = im.ArrayChar(1024, pacenote:getNoteFieldFreeform())
  -- local freeformBefore = im.ArrayChar(1024, pacenote:getNoteFieldBefore())
  local freeformNote   = im.ArrayChar(1024, pacenote:getNoteFieldFreeform())
  -- local freeformAfter  = im.ArrayChar(1024, pacenote:getNoteFieldAfter())
  local freeformNote   = im.ArrayChar(1024, pacenote:getNoteFieldFreeform())
  -- local freeformAfter  = im.ArrayChar(1024, pacenote:getNoteFieldAfter())

  -- fields.before = im.ArrayChar(256, pacenote:getNoteFieldBefore())
  -- fields.note   = im.ArrayChar(1024, pacenote:getNoteFieldFreeform())
  -- fields.before = im.ArrayChar(256, pacenote:getNoteFieldBefore())
  -- fields.note   = im.ArrayChar(1024, pacenote:getNoteFieldFreeform())
  -- fields.after  = im.ArrayChar(256, pacenote:getNoteFieldAfter())
  -- fields.note   = im.ArrayChar(1024, pacenote:getNoteFieldFreeform())
  -- fields.after  = im.ArrayChar(256, pacenote:getNoteFieldAfter())
  -- local editEnded = im.BoolPtr(false)
  -- local playbackRulesText = im.ArrayChar(1024, pacenote.playback_rules or "")
  -- im.SetNextItemWidth(150)
@/lua/ge/extensions/editor/flowgraph/variables.lua
  self.target = nil
  self.newVariableNameField = im.ArrayChar(64,"")
  editor.registerWindow(self.windowName, im.ImVec2(150,300), nil, false)
    if im.BeginPopup("addVariablePopup") then
      self.addVariableSettings.name = self.addVariableSettings.name or im.ArrayChar(128)
      self.addVariableSettings.type = self.addVariableSettings.type or "auto"
@/lua/ge/extensions/editor/vehicleDetailViewer.lua
local layoutFilenameDefault = saveFolder .. 'default.vehicleDetailSetting.json'
local saveFilenameFFI = im.ArrayChar(128, "default")
local availableLayoutFiles = {}
@/lua/ge/extensions/flowgraph/nodes/util/customLua.lua

  local name = im.ArrayChar(256, self.name)
  im.PushItemWidth(im.GetContentRegionAvailWidth() - 24 * im.uiscale[0])
    ui_flowgraph_editor.tooltip(codeDescription[code])
    local buff = im.ArrayChar(bufLen, self.code[code] or "")
    if editor.uiInputTextMultiline("##"..code..self.id.."/"..self.mgr.id, buff, bufLen, im.ImVec2(im.GetContentRegionAvailWidth(),150), im.InputTextFlags_Multiline, nil, nil, editEnded) then
@/lua/ge/extensions/editor/techServerManager.lua
local openServerGuiData = {
  ip = im.ArrayChar(40, '127.0.0.1'),
  allInterfaces = im.BoolPtr(false),
@/lua/ge/extensions/editor/tech/roadArchitect/roads.lua
  return {
    displayName = im.ArrayChar(32, 'New Road'),                                                     -- The display name for this road.
  rCopy.name = r.name
  rCopy.displayName = im.ArrayChar(32, ffi.string(r.displayName))
  rCopy.profile = profileMgr.copyProfile(r.profile)
  local roadA = createRoadFromProfile(profile)
  roadA.displayName = im.ArrayChar(32, ffi.string(r.displayName) .. ' [A]')
  roadA.nodes = copiedNodesA
  local roadB = createRoadFromProfile(profileMgr.copyProfile(profile))
  roadB.displayName = im.ArrayChar(32, ffi.string(r.displayName) .. ' [B]')
  roadB.nodes = copiedNodesB
    roads[rIdx] = {
      displayName = im.ArrayChar(32, 'temp'),
      isVis = im.BoolPtr(true),
  return {
    displayName = im.ArrayChar(32, rSer.displayName or 'New Road'),
    isDirty = true,
@/lua/ge/extensions/editor/api/genericInspector.lua
  self.fieldNameFilter = imgui.ImGuiTextFilter()
  self.newFieldName = imgui.ArrayChar(1024)
  self.matchedFilterStaticFields = true
  self.editEnded = imgui.BoolPtr(false)
  self.inputTextValue = imgui.ArrayChar(self.valueInspector.inputTextShortStringMaxSize)
  self.collapseGroups = {}
@/lua/ge/extensions/editor/missionEditor/genericTypeData.lua
        local arraySize = 8*(2+math.max(128, 4*serializedProgress:len()))
        local arrayChar = im.ArrayChar(arraySize)
        ffi.copy(arrayChar, serializedProgress)
@/lua/ge/extensions/editor/flowgraph/main.lua

  self.quickAccessTextfield = im.ArrayChar(64, "")
  self.fpsSmoother = newExponentialSmoothing(50, 1)
      if self.quickAccessTextfield == nil then
        self.quickAccessTextfield = im.ArrayChar(64, pin.name)
      end
@/lua/ge/extensions/editor/api/assets.lua
  if imgui.BeginDragDropSource(imgui.DragDropFlags_SourceAllowNullID) then
    if not dragDropAsset.data then dragDropAsset.data = im.ArrayChar(2048, data) end
    if callback and not dragDropAsset.callback then dragDropAsset.callback = callback end
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veFlexbodyDebug.lua

local flexbodyInputTextInput = im.ArrayChar(128)
local flexbodyInputTextPopupPos = im.ImVec2(0,0)

local nodeInputTextInput = im.ArrayChar(16)
local nodeInputTextPopupPos = im.ImVec2(0,0)

local vertexInputTextInput = im.ArrayChar(16)
local vertexInputTextPopupPos = im.ImVec2(0,0)
@/lua/ge/extensions/editor/flowgraph/examples.lua
  self.searchResultsByMgr = {}
  self.searchText = im.ArrayChar(128)
  self.search =  require('/lua/ge/extensions/editor/util/searchUtil')()
    self.doClick = nil
    self.searchText = im.ArrayChar(128)
  end
@/lua/ge/extensions/editor/crawlEditor/boundaries.lua
  self.fields = {}
  self.addFieldText = im.ArrayChar(256, "")
end
  if not boundary then return end
  self.name = im.ArrayChar(256, boundary.name or "")
  self.fileName = im.ArrayChar(256, boundary._fileName or "")
  self.name = im.ArrayChar(256, boundary.name or "")
  self.fileName = im.ArrayChar(256, boundary._fileName or "")
end
    if fields.types[name] == 'string' then
      if not self.fields[name] then self.fields[name] = im.ArrayChar(4096, fields.values[name]) end
      local editEnded = im.BoolPtr(false)
    fields:add(ffi.string(self.addFieldText),'string',"value")
    self.addFieldText = im.ArrayChar(256,"")
    fields:add(ffi.string(self.addFieldText),'number',0)
    self.addFieldText = im.ArrayChar(256,"")
@/lua/ge/extensions/editor/slotTrafficEditor.lua
        im.SameLine()
        local roadFilterChanged = im.InputText("##RoadFilter", im.ArrayChar(128, roadFilterText), filterFlags)
        if roadFilterChanged then
        if roadFilterChanged then
          roadFilterText = string.lower(ffi.string(im.ArrayChar(128, roadFilterText)))
        end
@/lua/ge/extensions/flowgraph/nodes/gameplay/race/raceEndScreen.lua
  for i, btn in ipairs(self.options) do
    local txt = im.ArrayChar(64, btn)
    if im.InputText("##btn" .. i, txt, nil, im.InputTextFlags_EnterReturnsTrue) then
@/lua/ge/extensions/flowgraph/nodes/types/string.lua
  local reason = nil
  self.imText = self.imText or im.ArrayChar(2048, self.string)
  local ml = im.BoolPtr(self.multiLine)
@/lua/ge/extensions/editor/raceEditor/timeTrials.lua
local imu = require('ui/imguiUtils')
local nameText = im.ArrayChar(1024, "")
local descText = im.ArrayChar(2048, "")
local nameText = im.ArrayChar(1024, "")
local descText = im.ArrayChar(2048, "")
local authorsText = im.ArrayChar(2048, "")
local descText = im.ArrayChar(2048, "")
local authorsText = im.ArrayChar(2048, "")
local previewOpen = im.BoolPtr(false)
function C:selected()
  nameText = im.ArrayChar(1024, self.path.name)
  descText = im.ArrayChar(2048, self.path.description)
  nameText = im.ArrayChar(1024, self.path.name)
  descText = im.ArrayChar(2048, self.path.description)
  authorsText = im.ArrayChar(2048, self.path.authors)
  descText = im.ArrayChar(2048, self.path.description)
  authorsText = im.ArrayChar(2048, self.path.authors)
  self.filenames = {}
    for _, p in ipairs(self.path[pn.fieldName] or {}) do
      table.insert(self.filenames[pn.fieldName], im.ArrayChar(2048, p or ""))
    end
  im.PushItemWidth(232)
  editor.uiInputText("##prefab"..default..fieldName, im.ArrayChar(1024,default), 1024) im.tooltip("This Prefab is always loaded automatically if existing.")
  im.SameLine() self:existsIcon(default, true)
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veJBeamPicker.lua

local nodeInputTextInput = im.ArrayChar(16)
local nodeInputTextPopupPos = im.ImVec2(0,0)

local beamInputTextInput = im.ArrayChar(16)
local beamInputTextPopupPos = im.ImVec2(0,0)
@/lua/ge/extensions/editor/missionEditor/careerSetup.lua
local function getBuffer(key, default)
  if not inputBuffers[key] then inputBuffers[key] = im.ArrayChar(2048, default or "") end
  return inputBuffers[key]
@/lua/ge/extensions/editor/mainToolbar.lua
local editingSetIndex = -1
local editingSetName = im.ArrayChar(100, "")
@/lua/ge/extensions/editor/particleEditor.lua
  im.SameLine()
  local imText = im.ArrayChar(2048, fieldValue)
  if im.InputText("##particleTexture", imText, nil, im.InputTextFlags_EnterReturnsTrue) then
@/lua/ge/extensions/ui/console.lua
local filterCur = ""
local originFilterImC = im.ArrayChar(256, "")
local invalidOriginFilter = false
local winTitle = beamng_appname..".consoleNG - "..beamng_versiond .." - ".. beamng_buildtype .." - ".. beamng_arch .."##consoleNG"
local consoleInputField = im.ArrayChar(4096, "")
--local inputCallbackC = nil
  windowOpen[0] = data.windowOpen or false
  originFilterImC = im.ArrayChar(256, data.originFilter or "")
  if data.levelFilter then
@/lua/ge/extensions/editor/api/gui.lua
local function uiInputSearchTextFilter(label, txtfilter, width, extra_flags, editEnded)
  local text = imgui.ArrayChar(256, ffi.string(imgui.TextFilter_GetInputBuf(txtfilter)))
  local res = uiInputSearch(label, text, width, extra_flags, editEnded)
local tempFloatArr4 = imgui.ArrayFloat(4)
local tempCharPtr = imgui.ArrayChar(256, "")
local tempTextureObj = nil
@/lua/ge/extensions/editor/camPathEditor.lua

      local pathNameField = im.ArrayChar(64, M.currentPath.name)
      if im.InputText('', pathNameField, 64, im.InputTextFlags_EnterReturnsTrue) then
@/lua/ge/extensions/editor/api/valueInspector.lua
  self.inspectorName = "default"
  self.inputTextValue = imgui.ArrayChar(inputTextShortStringMaxSize)
  self.inputLongTextValue = nil
        self.inputLongTextSize = fieldLen + 1
        self.inputLongTextValue = imgui.ArrayChar(fieldLen + 1)
      end
        self.inputLongTextSize = fieldLen + 1
        self.inputLongTextValue = imgui.ArrayChar(fieldLen + 1)
      end
@/lua/ge/extensions/editor/roadArchitect.lua
        for i = 1, #serPlacedGroups do
          placedGroups[i] = { name = im.ArrayChar(32, serPlacedGroups[i].name), list = {} }
          for j = 1, #serPlacedGroups[i].list do
        newRoad.isDrivable = false
        newRoad.displayName = im.ArrayChar(32, 'New Overlay')
        roadMgr.roads[rIdx] = newRoad
        newRoad.isDrivable = false
        newRoad.displayName = im.ArrayChar(32, 'New Bridge')
        newRoad.granFactor = im.IntPtr(3)
            profileMgr.removeAllTempCurrentProfiles()
            pCopy.name = im.ArrayChar(32, 'Current Profile')
            profileMgr.profiles[#profileMgr.profiles + 1] = pCopy
              local pCopy = profileMgr.copyProfile(profileMgr.profiles[i])
              pCopy.name = im.ArrayChar(32, ffi.string(pCopy.name) .. ' [copy]')
              profileMgr.profiles[#profileMgr.profiles + 1] = pCopy
    placedGroups[i] = {
      name = im.ArrayChar(64, serPlacedGroups[i].name),
      list = {} }
@/lua/ge/extensions/editor/dragRaceEditor/dragSettings.lua
  im.SameLine()
  local context = im.ArrayChar(256, dragSettings.context or "")
  if im.InputText("##context", context, 256) then
  im.SameLine()
  local stripId = im.ArrayChar(256, dragSettings.stripId or "")
  if im.InputText("##stripId", stripId, 256) then
  im.SameLine()
  local facilityId = im.ArrayChar(256, dragSettings.facilityId or "")
  if im.InputText("##facilityId", facilityId, 256) then
    im.SameLine()
    local phaseName = im.ArrayChar(256, phase.name or "")
    if im.InputText("##phaseName", phaseName, 256) then
    im.SameLine()
    local christmasTreePath = im.ArrayChar(512, dragSettings.prefabs.christmasTree.prefabPath or "")
    if im.InputText("##christmasTreePath", christmasTreePath, 512) then
    im.SameLine()
    local displaySignPath = im.ArrayChar(512, dragSettings.prefabs.displaySign.prefabPath or "")
    if im.InputText("##displaySignPath", displaySignPath, 512) then
    im.SameLine()
    local pathsPath = im.ArrayChar(512, dragSettings.prefabs.paths.prefabPath or "")
    if im.InputText("##pathsPath", pathsPath, 512) then
    im.SameLine()
    local decorationsPath = im.ArrayChar(512, dragSettings.prefabs.decorations.prefabPath or "")
    if im.InputText("##decorationsPath", decorationsPath, 512) then
  im.SameLine()
  local context = im.ArrayChar(256, dragSettings.context or "")
  if im.InputText("##context", context, 256) then
  im.SameLine()
  local facilityId = im.ArrayChar(256, dragSettings.facilityId or "")
  if im.InputText("##facilityId", facilityId, 256) then
  im.SameLine()
  local stripId = im.ArrayChar(256, dragSettings.stripId or "")
  if im.InputText("##stripId", stripId, 256) then
@/lua/ge/extensions/flowgraph/manager.lua
    if not self.dragDropData.name then
      self.dragDropData.name = im.ArrayChar(64, data.path)
    end
@/lua/ge/extensions/editor/sitesEditor.lua
local mouseInfo = {}
local nameText = im.ArrayChar(1024, "")
@/lua/ge/extensions/editor/flowgraph/search.lua
  self.searchResultsByMgr = {}
  self.searchText = im.ArrayChar(128)
  self.search =  require('/lua/ge/extensions/editor/util/searchUtil')()
    self.doClick = nil
    self.searchText = im.ArrayChar(128)
  end