TextColored
Definition
-- @/lua/common/extensions/ui/imgui_gen_luaintf.lua:298
function M.TextColored(ImVec4_col, string_fmt, ...)
if string_fmt == nil then log("E", "", "Parameter 'string_fmt' of function 'TextColored' cannot be nil, as the c type is 'const char *'") ; return end
string_fmt = formatStringIfArgs(string_fmt, ...)
imgui.TextColored(ImVec4_col, string_fmt)
end
Callers
@/lua/ge/extensions/editor/shapeEditor.lua
if lodBrokenMesh then
im.TextColored(im.ImVec4(1,0.1,0.1,1), "Broken/Invalid mesh !")
if shapePrev.dumpTSShapeInfo and im.Button("dumpShapeInfo") then
@/lua/ge/extensions/trackbuilder/trackBuilder.lua
im.TextColored(style.textColor,translateLanguage("ui.trackBuilder.matEditor.texture", 'Texture'))
im.TextColored(style.textColor,translateLanguage("ui.trackBuilder.matEditor.base", 'Base'))
im.TextColored(style.textColor,translateLanguage("ui.trackBuilder.matEditor.texture", 'Texture'))
im.TextColored(style.textColor,translateLanguage("ui.trackBuilder.matEditor.base", 'Base'))
if im.ImageButton("##imageButton1", materialSettings.base.texId, im.ImVec2(64,64), im.ImVec2Zero, im.ImVec2One, im.ImColorByRGB(0,0,0,0).Value, im.ImColorByRGB(255,255,255,255).Value) then end
im.TextColored(style.textColor,translateLanguage("ui.trackBuilder.matEditor.decal", "Decal"))
im.TextColored(style.textColor,translateLanguage("ui.trackBuilder.matEditor.center", "Center"))
im.TextColored(style.textColor,translateLanguage("ui.trackBuilder.matEditor.decal", "Decal"))
im.TextColored(style.textColor,translateLanguage("ui.trackBuilder.matEditor.center", "Center"))
if im.ImageButton("##imageButton2", materialSettings.center.texId, im.ImVec2(64,64), im.ImVec2Zero, im.ImVec2One, im.ImColorByRGB(255,0,0,0).Value, im.ImColorByRGB(255,255,255,255).Value) then end
im.TextColored(style.textColor,"")
im.TextColored(style.textColor,translateLanguage("ui.trackBuilder.matEditor.border", "Border"))
im.TextColored(style.textColor,"")
im.TextColored(style.textColor,translateLanguage("ui.trackBuilder.matEditor.border", "Border"))
if im.ImageButton("##imageButton3", materialSettings.border.texId, im.ImVec2(64,64), im.ImVec2Zero, im.ImVec2One, im.ImColorByRGB(0,0,0,0).Value, im.ImColorByRGB(255,255,255,255).Value) then end
im.PopItemWidth()
if materialSettings.groundModelHasChanged then im.TextColored(im.ImVec4(1.0, 0.0, 0.0, 1.0), "Groundmodel has been modified.\nHit DRIVE to apply changes to the track.") end
local function borderDrawSelector(displayName, name, table, nameTable, width)
im.TextColored(style.textColor, displayName)
if im.Checkbox("Draw##"..name,clickInputModes[name]) then
im.PushItemWidth(120)
im.TextColored(style.textColor, translateLanguage("ui.trackBuilder.wallsCeiling.leftWall", "Left Wall"))
if im.Checkbox(translateLanguage("ui.trackBuilder.wallsCeiling.active", "Active") .. "##leftWall", modifierValues.leftWall.active) then
im.Separator()
im.TextColored(style.textColor, translateLanguage("ui.trackBuilder.wallsCeiling.rightWall", "Right Wall"))
if im.Checkbox(translateLanguage("ui.trackBuilder.wallsCeiling.active", "Active") .. "##rightWall", modifierValues.rightWall.active) then
im.Separator()
im.TextColored(style.textColor, translateLanguage("ui.trackBuilder.wallsCeiling.ceiling", "Ceiling"))
if im.Checkbox(translateLanguage("ui.trackBuilder.wallsCeiling.active", "Active") .. "##ceilingMesh", modifierValues.ceilingMesh.active) then
im.TextColored(style.textColor,string.format(translateLanguage("ui.trackBuilder.base.banking", "Banking") .. ": %.1f°", modifierValues.bank.value[0]))
im.TextColored(style.textColor,string.format(translateLanguage("ui.trackBuilder.base.height", "Height") .. ": %.1fm", modifierValues.height.value[0]))
im.TextColored(style.textColor,translateLanguage("ui.trackBuilder.base.width", "Width") .. ": " .. modifierValues.width.value[0]..'m')
smallSetButtons("width",{0,1,2,5,10,15,20},im.ImVec2(30,0))
saveSettings.fogValue[0] = fog
im.TextColored(style.textColor,translateLanguage("ui.trackBuilder.trackSettings.environmentSettings", "Environment settings"))
im.TextColored(style.textColor,translateLanguage("ui.trackBuilder.trackSettings.time", 'Time'))
if im.SliderFloat(translateLanguage("ui.trackBuilder.trackSettings.time", "Time"),saveSettings.timeOfDay , 00, 1, "%.2f") then
im.tooltip(translateLanguage("ui.trackBuilder.tooltip.night", "Night"))
im.TextColored(style.textColor,translateLanguage("ui.trackBuilder.trackSettings.azimuth", 'Azimuth'))
if im.SliderFloat(translateLanguage("ui.trackBuilder.trackSettings.azimuth", 'Azimuth'),saveSettings.azimuthValue,0,2*math.pi,"%.2f") then
im.TextColored(style.textColor,translateLanguage("ui.trackBuilder.trackSettings.fog", 'Fog'))
if im.SliderFloat(translateLanguage("ui.trackBuilder.trackSettings.fog", 'Fog'),saveSettings.fogValue, 0, 0.5, "%.8f",6) then
local function raceSettings()
im.TextColored(style.textColor,translateLanguage("ui.trackBuilder.trackSettings.raceSettings", 'Race Settings'))
if im.Checkbox(translateLanguage("ui.trackBuilder.trackSettings.reversible", "Reversible"),saveSettings.allowReverse) then
local function trackPositionSettings()
im.TextColored(style.textColor, translateLanguage("ui.trackBuilder.trackSettings.trackTransform", "Track Transform"))
local function saveInputButtons()
im.TextColored(style.textColor, translateLanguage("ui.trackBuilder.saveLoad.saveTrack", "Save Track"))
im.InputText(translateLanguage("ui.trackBuilder.saveLoad.filename", "Filename"),saveSettings.saveStr)
local function additionalSaveSettings()
im.TextColored(style.textColor, translateLanguage("ui.trackBuilder.saveLoad.description", "Description"))
im.InputTextMultiline("##description", saveSettings.description, im.GetLengthArrayCharPtr(saveSettings.description), im.ImVec2(-1.0, im.GetTextLineHeight() * 3))
local function loadTrackList()
im.TextColored(style.textColor, translateLanguage("ui.trackBuilder.saveLoad.loadTrack", "Load Track"))
if im.Button('X ') then im.ImGuiTextFilter_Clear(loadFilesFilter) end
if currentIndex == cp.segmentIndex then
im.TextColored(style.textColor,'#'..i.."")
im.NextColumn()
im.NextColumn()
im.TextColored(style.textColor,cp.segmentIndex.."")
im.NextColumn()
im.SetCursorPosX(xPositions[1])
im.TextColored(style.textColor,translateLanguage("ui.trackBuilder.base.radius", "Radius") .. ": " .. (p.radius[0]*4)..'m')
im.SameLine()
im.SetCursorPosX(xPositions[3])
im.TextColored(style.textColor, translateLanguage("ui.trackBuilder.base.length", "Length") .. ": " .. p.length[0]..'°')
im.SetCursorPosX(xPositions[1])
im.TextColored(style.textColor, translateLanguage("ui.trackBuilder.base.length", "Length") .. ": " .. (p.length[0]*4)..'m')
im.SetCursorPosX(xPositions[1])
im.TextColored(style.textColor, translateLanguage("ui.trackBuilder.base.radius", "Radius") .. ": " .. (p.size[0]*4)..'m')
im.SameLine()
im.SetCursorPosX(xPositions[3])
im.TextColored(style.textColor,translateLanguage("ui.trackBuilder.base.length", "Length") .. ": " .. p.angle[0]..'°')
im.SetCursorPosX(xPositions[1])
im.TextColored(style.textColor,(p.inside[0] and 'Outward' or 'Inward'))
im.SameLine()
im.SetCursorPosX(xPositions[1])
im.TextColored(style.textColor,"yOffset: " .. (p.length[0]*4)..'m')
im.SameLine()
im.SetCursorPosX(xPositions[3])
im.TextColored(style.textColor,"xOffset: " .. (p.xOffset[0]*4)..'m')
im.SetCursorPosX(xPositions[2])
im.TextColored(style.textColor,"Hardness: " .. (p.hardness[0]))
im.SetCursorPosX(xPositions[1])
im.TextColored(style.textColor,translateLanguage("ui.trackBuilder.base.radius", "Radius") .. ": " .. (p.radius[0]*4)..'m')
im.SameLine()
im.SetCursorPosX(xPositions[3])
im.TextColored(style.textColor,"xOffset: " .. (p.xOffset[0]*4)..'m')
im.SetCursorPosX(xPositions[1])
im.TextColored(style.textColor,"yOffset: " .. (p.yOff[0]*4)..'m')
im.SameLine()
im.SetCursorPosX(xPositions[3])
im.TextColored(style.textColor,"xOffset: " .. (p.xOff[0]*4)..'m')
im.SetCursorPosX(xPositions[1])
im.TextColored(style.textColor,"fwdLen: " .. (p.forwardLen[0])..'')
im.SameLine()
im.SetCursorPosX(xPositions[3])
im.TextColored(style.textColor,"bckLen: " .. (p.backwardLen[0])..'')
im.SetCursorPosX(xPositions[1])
im.TextColored(style.textColor,"dirOff: " .. (p.dirOff[0])..'°')
im.SameLine()
im.SetCursorPosX(xPositions[3])
im.TextColored(style.textColor,(p.absolute[0] and 'global' or 'local'))
im.SameLine()
im.SetCursorPosX(xPositions[4])
im.TextColored(style.textColor,(p.empty[0] and 'empty' or 'solid'))
im.Spacing()
im.TextColored(style.textColor,string.format(translateLanguage("ui.trackbuilder.base.banking", "Banking") .. ": %.1f°", modifierValues.bank.value[0]))
mainModifiers('bank','tb_bank_left','tb_bank_right',15,1,60,-720,720)
im.TextColored(style.textColor,string.format(translateLanguage("ui.trackBuilder.base.height", "Height") .. ": %.1fm", modifierValues.height.value[0]))
mainModifiers('height','tb_height_lower','tb_height_higher',1,5,25,-50000,50000)
im.TextColored(style.textColor, translateLanguage("ui.trackBuilder.base.width", "Width") .. ": " .. modifierValues.width.value[0]..'m')
mainModifiers('width','tb_width_slimmer','tb_width_wider',1,5,10,0,50)
@/lua/ge/extensions/editor/roadSpline.lua
if #groups > 0 then
im.TextColored(cols.greenB, "Road Splines:")
selectedGroupIdx = max(1, min(#groups, selectedGroupIdx)) -- Ensure the selected layer index is within bounds.
if group.isLink then
im.TextColored(cols.dullWhite, group.name)
im.tooltip('This road spline is linked to a Master Spline. To edit or remove it, first unlink it from within the Master Spline Editor.')
elseif not group.isEnabled then
im.TextColored(cols.dullWhite, group.name)
im.tooltip('This road spline is disabled. To edit or remove it, first enable it.')
if selGroup then
im.TextColored(cols.greenB, "Spline Properties:")
im.Dummy(im.ImVec2(0, 3))
-- Road detailing controls.
im.TextColored(cols.greenB, "Auto-Generated Layers:")
im.Dummy(im.ImVec2(0, 3))
im.Separator()
im.TextColored(cols.greenB, "Layers:")
local layers = selGroup.layers
if not layer.isEnabled then
im.TextColored(cols.dullWhite, layer.name)
im.tooltip('This layer is disabled.')
-- 'Select Material' panel.
im.TextColored(cols.greenB, "Layer Material:")
if editor.uiIconImageButton(icons.youtube_searched_for, iconsBig, cols.blueB, nil, nil, 'selectLayerMaterialBtn') then
im.Separator()
im.TextColored(cols.greenB, "Layer Properties:")
im.Dummy(im.ImVec2(0, 3))
if selGroup and selGroup.isEnabled and #selGroup.nodes > 1 then
im.TextColored(cols.greenB, "Terrain Painting:")
-- Use the same 2-column slider layout as other spline tools.
else
im.TextColored(cols.redB, 'Add some nodes before painting.')
im.Text('Create at least 2 nodes to enable terrain painting.')
@/lua/ge/extensions/editor/flowgraph/history.lua
if i > self.mgr.currentHistoryIndex then
im.TextColored(disabledColor,tostring(i))
if im.IsItemClicked() then goToHistory = i end
@/lua/ge/extensions/editor/dynamicDecalsTool.lua
im.SameLine()
im.TextColored(editor.color.warning.Value, "DEPTH BUFFER LOCKED")
end
im.SameLine()
im.TextColored(editor.color.warning.Value, "SURFACE NORMAL LOCKED")
end
im.SameLine()
im.TextColored(editor.color.warning.Value, "LAYER MASKING ENABLED")
end
@/lua/ge/extensions/editor/flowgraph/execution.lua
if mgr == self.mgr then
im.TextColored(im.ImVec4(0.8,0.8,1,1), ">"..mgr.name)
else
@/lua/ge/extensions/editor/sidewalkSpline.lua
if #sidewalkSplines > 0 then
im.TextColored(cols.greenB, "Sidewalk Splines:")
im.PushItemWidth(-1)
if spline.isLink then
im.TextColored(cols.dullWhite, spline.name)
im.tooltip('This sidewalk spline is linked to a Master Spline. To edit or remove it, first unlink it from within the Master Spline Editor.')
elseif not spline.isEnabled then
im.TextColored(cols.dullWhite, spline.name)
im.tooltip('This sidewalk spline is disabled. To edit or remove it, first enable it.')
-- Spline Properties section.
im.TextColored(cols.greenB, "Spline Properties:")
im.PushItemWidth(-1)
if kitDescription and kitDescription.pieces and #kitDescription.pieces > 0 then
im.TextColored(cols.greenB, "Kit Components:")
im.Columns(4, "kitCompCols", true)
local baseMeshName = piece.baseMesh and (piece.baseMesh.fileName or "Unknown") or "Unknown"
im.TextColored(cols.purpleB, baseMeshName)
im.tooltip(piece.baseMesh and piece.baseMesh.meshPath or "Unknown mesh path")
-- Role.
im.TextColored(cols.redB, "[base]")
im.tooltip("The base mesh of this component.")
local varMeshName = variation.fileName or "Unknown"
im.TextColored(cols.dullWhite, " * " .. varMeshName)
im.tooltip(variation.meshPath or "Unknown mesh path")
-- Variation number.
im.TextColored(cols.dullWhite, "var" .. tostring(j))
im.tooltip("This is variation " .. tostring(j) .. " of the base component.")
else
im.TextColored(cols.redB, 'No sidewalk kit selected.')
im.Text('Select a folder containing sidewalk meshes to continue.')
local baseMeshName = piece.baseMesh and (piece.baseMesh.fileName or "Unknown") or "Unknown"
im.TextColored(cols.greenB, baseMeshName:gsub("%.dae$", ""))
im.SameLine()
im.SameLine()
im.TextColored(cols.greenB, ":")
elseif selectedTab == 2 then -- Terrain tab.
im.TextColored(cols.greenB, "Terraforming:")
im.Columns(2, "terrainSlidersRow_sidewalk", false)
@/lua/common/extensions/ui/imgui_gen_luaintf.lua
string_fmt = formatStringIfArgs(string_fmt, ...)
imgui.TextColored(ImVec4_col, string_fmt)
end
@/lua/ge/extensions/editor/crawlEditor.lua
im.Separator()
im.TextColored(im.ImVec4(0.8, 0.6, 0.2, 1.0), "Trails")
im.SameLine()
im.Separator()
im.TextColored(im.ImVec4(0.8, 0.6, 0.2, 1.0), "Paths")
im.SameLine()
im.Separator()
im.TextColored(im.ImVec4(0.8, 0.6, 0.2, 1.0), "Boundaries")
im.SameLine()
im.Separator()
im.TextColored(im.ImVec4(0.8, 0.6, 0.2, 1.0), "Starting Positions")
im.SameLine()
@/lua/common/extensions/ui/imgui_custom_luaintf.lua
if highlightText == "" then
M.TextColored(matchColor,label)
else
local pos3 = pos2 + highlightLowerLen
M.TextColored(matchColor, label:sub(pos2, pos3))
M.SameLine()
M.PushFont3("cairo_regular_medium")
M.TextColored(color, text)
M.PopFont()
@/lua/ge/extensions/editor/drivePathEditor.lua
if #drivePathSplines > 0 then
im.TextColored(cols.greenB, "Drive Path Splines:")
im.PushItemWidth(-1)
if not spline.isEnabled then
im.TextColored(cols.dullWhite, spline.name)
im.tooltip('This drive path spline is disabled. To edit or remove it, first enable it.')
if #sceneVehicles > 0 then
im.TextColored(cols.greenB, "Scene Vehicles:")
im.PushItemWidth(-1)
if linkedSpline and selVehicle and selVehicle.isLink then
im.TextColored(cols.redB, 'Linked To Drive Path Spline: ')
im.SameLine()
else
im.TextColored(cols.redB, 'Not Linked: ')
im.SameLine()
elseif isRecording then
im.TextColored(cols.redB, 'Recording In Progress... ')
im.SameLine()
elseif isPlaying then
im.TextColored(cols.redB, 'Playback In Progress... ')
im.SameLine()
if #drivePathSplines > 0 then
im.TextColored(cols.greenB, "Velocity Units:")
local tmpPtr = im.IntPtr(0)
im.Columns(1)
im.TextColored(cols.greenB, "Mode:")
im.Separator()
im.TextColored(cols.greenB, "Properties:")
@/lua/ge/extensions/editor/missionEditor/objectives.lua
im.TextColored(grayColor, self:getStarLabel(key))
toggle = im.IsItemClicked() or toggle
@/lua/ge/extensions/gameplay/crawl/debug.lua
im.TextColored(im.ImVec4(1, 0.5, 0, 1), "=== PENALTY SYSTEM ===")
im.Text("Penalty Points: " .. (debugData.crawlerData.points or 0))
if debugData.crawlerData.points >= 50 then
im.TextColored(im.ImVec4(1, 0, 0, 1), "DNF THRESHOLD REACHED!")
end
if debugData.isDisqualified then
im.TextColored(im.ImVec4(1, 0, 0, 1), "DISQUALIFIED")
end
im.TextColored(im.ImVec4(0.5, 0.5, 1, 1), "=== INFRACTION DATA ===")
im.Text("Driving Backwards Cooldown: " .. string.format("%.1f", infData.drivingBackwardsCooldown or 0))
im.TextColored(im.ImVec4(0, 1, 0.5, 1), "=== RECOVERY CHECKPOINT ===")
local rcp = debugData.lastRecoveryCheckpoint
im.TextColored(im.ImVec4(1, 0.8, 0, 1), "=== BOUNDARY EXIT POINT ===")
im.Text("Exit Point: " .. string.format("%.1f, %.1f, %.1f", exitPoints.x, exitPoints.y, exitPoints.z))
if distance >= 10.0 then
im.TextColored(im.ImVec4(1, 0, 0, 1), "DNF DISTANCE REACHED!")
end
im.TextColored(im.ImVec4(1, 0, 1, 1), "=== EVENT LOG ===")
if im.CollapsingHeader1("Recent Events", im.TreeNodeFlags_DefaultOpen) then
im.TextColored(color, eventText)
end
im.TextColored(im.ImVec4(1, 1, 0, 1), "=== TRAIL INFO ===")
im.Text("Trail ID: " .. (debugData.trail.id or "Unknown"))
im.TextColored(im.ImVec4(0, 1, 0, 1), "=== VEHICLE INFO ===")
if debugData.crawlerData and debugData.crawlerData.dynamicData then
im.TextColored(im.ImVec4(0, 0, 1, 1), "=== NODES ===")
local path = nil
im.TextColored(color, nodeText)
im.SameLine()
im.SameLine()
im.TextColored(color, string.format("(%.1f, %.1f, %.1f)", pathnode.pos.x, pathnode.pos.y, pathnode.pos.z))
im.SameLine()
im.TextColored(color, " - " .. formatTime(debugData.pathnodeTimings[i]))
end
im.TextColored(im.ImVec4(1, 0.5, 0, 1), "=== TRAIL STATUS ===")
if debugData.isDisqualified then
if debugData.isDisqualified then
im.TextColored(im.ImVec4(1, 0, 0, 1), "DISQUALIFIED")
elseif debugData.isCompleting then
elseif debugData.isCompleting then
im.TextColored(im.ImVec4(0, 1, 0, 1), "COMPLETING - Waiting for results...")
elseif debugData.isFinished then
elseif debugData.isFinished then
im.TextColored(im.ImVec4(0, 1, 0, 1), "FINISHED")
else
else
im.TextColored(im.ImVec4(1, 1, 0, 1), "ACTIVE")
end
@/lua/ge/extensions/editor/veMain.lua
if fps < 30 then
im.TextColored(im.ImVec4(1, 0.3, 0.3, 1), "FPS: %.0f", fps)
elseif fps < 60 then
elseif fps < 60 then
im.TextColored(im.ImVec4(1, 1, 0.2, 1), "FPS: %.0f", fps)
else
elseif metrics["FramePresent"] < 1 or fps > 30 then
im.TextColored(im.ImVec4(1, 1, 0.2, 1), "GpuWait: %3.1f", metrics["FramePresent"])
else
else
im.TextColored(im.ImVec4(1, 0.3, 0.3, 1), "GpuWait: %3.1f", metrics["FramePresent"])
end
@/lua/ge/extensions/editor/mainMenu.lua
local function editorLevelTitleGui()
imgui.TextColored(imgui.ImVec4(0.7, 0.7, 0.7, 1), "\tLevel: ")
local str = ""
if editor.dirty then modified = "*" end
imgui.TextColored(imgui.GetStyleColorVec4(imgui.Col_ButtonActive), "[" .. getMissionFilename() .. "]" .. modified)
end
imgui.TextColored(imgui.ImVec4(1, 1, 0, textAlpha), "\t"..notification.text)
end
local function currentEditModeGui()
imgui.TextColored(imgui.ImVec4(0.7, 0.7, 0.7, 1.0), "\tEditMode: ")
local str = ""
if editor.editMode then str = tostring(editor.editMode.displayName or editor.editMode.iconTooltip or "Unknown") end
imgui.TextColored(imgui.GetStyleColorVec4(imgui.Col_ButtonActive), str)
end
imgui.WindowFlags_NoNav))
imgui.TextColored(imgui.ImVec4(1, 1, 0, 1), editor.statusText)
imgui.SameLine()
if fps < 30 then
imgui.TextColored(imgui.ImVec4(1, 0.3, 0.3, 1), "FPS: %.0f", fps)
elseif fps < 60 then
elseif fps < 60 then
imgui.TextColored(imgui.ImVec4(1, 1, 0.2, 1), "FPS: %.0f", fps)
else
elseif metrics["FramePresent"] < 1 or fps > 30 then
imgui.TextColored(imgui.ImVec4(1, 1, 0.2, 1), "GpuWait: %3.1f", metrics["FramePresent"])
else
else
imgui.TextColored(imgui.ImVec4(1, 0.3, 0.3, 1), "GpuWait: %3.1f", metrics["FramePresent"])
end
imgui.Text("Are you sure you want to revert current level to original content?")
imgui.TextColored(imgui.ImVec4(1, 1, 0, 1), "Warning: You will lose all your changes to the level!")
if imgui.Button("Yes") then
@/lua/ge/extensions/editor/flowgraph/events.lua
im.NextColumn()
im.TextColored(logColors[e.type] or colWhite, e.type)
ui_flowgraph_editor.tooltip(logNames[e.type] or e.type)
end
im.TextColored(logColors[e.type] or colWhite, name)
@/lua/ge/extensions/editor/levelValidator.lua
if checkFinished == 1 then
im.TextColored(im.ImVec4(1, 1, 0, 1.0), "Searching for issues...")
elseif checkFinished == 2 then
end
im.TextColored(im.ImVec4(0, 1, 0, 1.0), foundText)
im.SameLine()
@/lua/ge/extensions/editor/rallyEditor/pacenotes/pacenoteForm.lua
-- im.HeaderText("Issues (0)")
im.TextColored(cc.clr_no_error, "No issues")
else
else
im.TextColored(cc.clr_error, "Issues (".. (#pacenote.validation_issues) ..") (Hover for details)")
local issues = ""
im.SameLine()
im.TextColored(im.ImVec4(0, 1, 1, 1), "(?)")
im.tooltip("Default: unchecked\nWhen checked, the next corner will be delayed until this corner is reached.")
im.SameLine()
im.TextColored(im.ImVec4(0, 1, 1, 1), "(?)")
im.tooltip("Default: checked\nReset the automatic odometer after the pacenote used for calculating distance calls.\n\nWhen unchecked, this pacenote will be skipped and the distance\ncall will be calculated between the previous and next pacenotes.")
im.SameLine()
im.TextColored(im.ImVec4(0, 1, 1, 1), "(?)")
im.tooltip("Default: unchecked\nWhen checked, distance call will not be included in this pacenote.")
@/lua/ge/extensions/gameplay/rally/loop/speedingDetector.lua
if self.strictMode then
im.TextColored(im.ImVec4(1, 0.3, 0.3, 1), string.format("STRICT MODE (max %d kph over, %.1f%% prob)", self.strictMaxSpeedOver, self.strictMaxProbability * 100))
end
local color = isSpeeding and im.ImVec4(1, 0.2, 0.2, 1) or im.ImVec4(1, 1, 1, 1)
im.TextColored(color, string.format("Average Speed: %.1f kph", avgSpeed))
else
else
im.TextColored(im.ImVec4(1, 1, 1, 1), "Average Speed: N/A")
end
local statusText = isPenaltyReady and "" or " (RATE LIMITED)"
im.TextColored(probColor, string.format("Penalty Probability: %.1f%%%s", probability * 100, statusText))
end
else
im.TextColored(im.ImVec4(0.3, 1, 0.3, 1), "Penalty Ready")
end
local color = (self.currentLimitKph and sample > self.currentLimitKph) and {1, 0.3, 0.3, 1} or {1, 1, 1, 1}
im.TextColored(im.ImVec4(color[1], color[2], color[3], color[4]), string.format(" [%d] %.1f kph", i + 1, sample))
end
@/lua/ge/extensions/editor/logHelper.lua
im.TextColored(im.ImVec4(0.7, 0.7, 0.7, 1), "\tLogStats: ")
if type(t.errors) == 'number' and t.errors > 0 then
im.TextColored(im.ImVec4(1.0, 0.0, 0.0, 1.0), tostring(t.errors) .. 'E ')
--im.SameLine()
if type(t.warnings) == 'number' and t.warnings > 0 then
im.TextColored(im.ImVec4(1.0, 1.0, 0.0, 1.0), tostring(t.warnings) .. 'W')
end
@/lua/ge/extensions/editor/decalSpline.lua
if #decalSplines > 0 then
im.TextColored(cols.greenB, "Decal Splines:")
im.PushItemWidth(-1)
if spline.isLink then
im.TextColored(cols.dullWhite, spline.name)
im.tooltip('This decal spline is linked to a Master Spline. To edit or remove it, first unlink it from within the Master Spline Editor.')
elseif not spline.isEnabled then
im.TextColored(cols.dullWhite, spline.name)
im.tooltip('This decal spline is disabled. To edit or remove it, first enable it.')
-- Spline Properties.
im.TextColored(cols.greenB, "Spline Properties:")
im.PushItemWidth(-1)
-- Decal Component selection panel.
im.TextColored(cols.greenB, "Components:")
im.Columns(5, "decalComponentSelectionColumns", true)
im.SetCursorPosY(im.GetCursorPosY() + max(0, (iconsSmall.y - im.GetTextLineHeight()) * 0.5))
im.TextColored(cols.redB, ('[' ..selSpline.component1Material .. ']') or '[Not Set]')
im.tooltip('The currently-selected material for Component 1.')
im.SetCursorPosY(im.GetCursorPosY() + max(0, (iconsSmall.y - im.GetTextLineHeight()) * 0.5))
im.TextColored(cols.redB, ('[' ..selSpline.component2Material .. ']') or '[Not Set]')
im.tooltip('The currently-selected material for Component 2.')
im.SetCursorPosY(im.GetCursorPosY() + max(0, (iconsSmall.y - im.GetTextLineHeight()) * 0.5))
im.TextColored(cols.redB, ('[' ..selSpline.component3Material .. ']') or '[Not Set]')
im.tooltip('The currently-selected material for Component 3.')
im.SetCursorPosY(im.GetCursorPosY() + max(0, (iconsSmall.y - im.GetTextLineHeight()) * 0.5))
im.TextColored(cols.redB, ('[' ..selSpline.component4Material .. ']') or '[Not Set]')
im.tooltip('The currently-selected material for Component 4.')
im.Separator()
im.TextColored(cols.greenB, "Distribution:")
im.Columns(1)
im.TextColored(cols.greenB, "Component 1 Properties:")
im.Separator()
im.TextColored(cols.greenB, "Pre Rotation:")
im.Columns(4)
im.Columns(1)
im.TextColored(cols.greenB, "Component 2 Properties:")
im.Separator()
im.TextColored(cols.greenB, "Pre Rotation:")
im.PushItemWidth(-1)
im.Columns(1)
im.TextColored(cols.greenB, "Component 3 Properties:")
im.Separator()
im.TextColored(cols.greenB, "Pre Rotation:")
im.PushItemWidth(-1)
im.Columns(1)
im.TextColored(cols.greenB, "Component 4 Properties:")
im.Separator()
im.TextColored(cols.greenB, "Pre Rotation:")
im.PushItemWidth(-1)
@/lua/ge/extensions/editor/flowgraph/examples.lua
if highlightText == "" then
im.TextColored(matchColor,label)
else
local pos3 = pos2 + highlightLowerLen
im.TextColored(matchColor, label:sub(pos2, pos3))
im.SameLine()
@/lua/ge/extensions/editor/trafficManager.lua
im.SameLine()
im.TextColored(imColors.warning, "Please wait...")
end
im.SameLine()
im.TextColored(imColors.warning, "Please wait...")
end
if not isDrivable then
im.TextColored(imColors.warning, "This object is currently undrivable.")
else
im.TextColored(imColors.inactive, string.format("%0.2f %s", convertSpeed(aiData.speed, speedUnits[1]), speedUnits[1]))
im.SameLine()
im.SameLine()
im.TextColored(imColors.inactive, string.format("%0.2f %s", convertSpeed(aiData.speed, speedUnits[2]), speedUnits[2]))
end
im.TextColored(imColors.inactive, string.format("Phase Duration: %0.2f s", currController.totalDuration))
im.TextColored(imColors.inactive, string.format("Sequence Duration: %0.2f s", currSequence.totalDuration))
im.TextColored(imColors.inactive, string.format("Phase Duration: %0.2f s", currController.totalDuration))
im.TextColored(imColors.inactive, string.format("Sequence Duration: %0.2f s", currSequence.totalDuration))
im.SameLine()
im.TextColored(imColors.warning, "Object selection mode active.")
end
else
im.TextColored(imColors.error, "Signal phase or sequence errors!")
end
im.TextColored(imColors.inactive, "WIP! Sign actions not available yet.")
@/lua/ge/extensions/editor/crawlEditor/missionPortTool.lua
if not currentLevel then
im.TextColored(im.ImVec4(1, 0.5, 0, 1), "No level currently loaded!")
im.Separator()
im.SameLine()
im.TextColored(im.ImVec4(0, 1, 0, 1), "Successfully ported")
end
@/lua/ge/extensions/editor/rendererComponents.lua
im.TextColored(editor.color.warning.Value, "Changes won't be saved. This is only for testing purposes.")
end
im.TextColored(editor.color.warning.Value, "Changes won't be saved. This is only for testing purposes.")
end
@/lua/ge/extensions/editor/dynamicDecals/layerStack.lua
im.SetCursorPosX(im.GetCursorPosX() + im.GetContentRegionAvailWidth() - textWidth)
im.TextColored(editor.color.warning.Value, text)
end
if im.BeginPopup("ClearLayerStackPopup") then
im.TextColored(editor.color.warning.Value , "Do you really want to clear the baked textures? This will also wipe the layer stack!")
if im.Button("Cancel") then
@/lua/ge/extensions/gameplay/missions/missionTypes/editorHelper.lua
local function decoHeaderDraw(e, mtd) im.PushFont3("cairo_regular_medium") im.TextColored(e.color, e.text) im.PopFont() end
local function decoTextDraw(e, mtd) im.Columns(2) im.SetColumnWidth(0,columnWidth) im.Dummy(im.ImVec2(1,1)) im.NextColumn() im.TextWrapped(e.text) if e.tooltip then im.tooltip(e.tooltip) end im.Columns(1) end
@/lua/ge/extensions/editor/gen/ui.lua
-- im.Text(text)
im.TextColored(ctxt, text)
end
end
-- im.TextColored(lbl, lbl)
end
im.Dummy(im.ImVec2(0, 26))
im.TextColored(colorNav, 'Hint')
----------------------------------------------
-- im.TextColored(colorNav, 'Shape type')
-- columnRight(174)
-- im.Separator()
-- im.TextColored(colorNav, 'SHAPES222:')
-- im.Separator()
-- im.SameLine()
-- im.TextColored(colorNav, 'Scope:')
im.Dummy(im.ImVec2(8, 0))
im.Unindent(-30)
im.TextColored(colText, t)
-- editor.uiHighlightedText(t, t, colText)
-- lo('?? for_mat:'..tostring(s))
-- im.TextColored(im.ImVec4(0.5, 0.5, 0.7, 1), tostring(s))
-- im.SameLine()
im.Dummy(im.ImVec2(0, 6))
im.TextColored(colorNav, 'Middle Line:')
local middleYellow = im.BoolPtr(D.ui.middleYellow)
-- im.Dummy(im.ImVec2(0, 26))
im.TextColored(colorNav, 'Hint') --..tableSize(HTree[3]))
im.SameLine()
im.TextColored(colorNav, 'Hint:')
im.SameLine()
im.SameLine()
-- im.TextColored(colorHelp, 'ALT-TAP: new TAP: select')
im.TextColored(colorHelp, 'ALT-CLICK: new SHIFT-DRAG: turn CTRL-DRAG: around')
-- im.TextColored(colorHelp, 'ALT-TAP: new TAP: select')
im.TextColored(colorHelp, 'ALT-CLICK: new SHIFT-DRAG: turn CTRL-DRAG: around')
-- im.TextColored(colorHelp, 'ALT-TAP: new TAP: select SHIFT-DRAG: turn CTRL-DRAG: around')
im.TextColored(colorHelp, 'ALT-CLICK: new SHIFT-DRAG: turn CTRL-DRAG: around')
-- im.TextColored(colorHelp, 'ALT-TAP: new TAP: select SHIFT-DRAG: turn CTRL-DRAG: around')
-- im.SameLine()
-- im.SameLine()
-- im.TextColored(colorHelp, 'Alt-Click: new')
-- scope
-- scope
im.TextColored(colorHelp, ' ')
im.SameLine()
if D.forRoad() then
im.TextColored(colorHelp, 'UP/DOWN: road width LEFT/RIGHT: mantle width')
elseif W.ifForest() then
if W.ifForest({'win'}) then
im.TextColored(colorHelp, 'DRAG: up/down ALT-WHEEL: space CTRL-WHEEL: margin')
end
if W.ifForest({'door'}) then
im.TextColored(colorHelp, 'RIGHT/LEFT: position')
end
elseif W.out.scope == 'building' then
im.TextColored(colorHelp, 'CTRL-UP/DOWN: add/remove floor')
elseif W.out.scope == 'floor' then
if editor.keyModifiers.alt then
im.TextColored(colorHelp, 'WHEEL: height')
elseif editor.keyModifiers.ctrl then
elseif editor.keyModifiers.ctrl then
im.TextColored(colorHelp, 'WHEEL: in/out-set UP: clone floor')
else
else
im.TextColored(colorHelp, 'CTRL ALT DRAG')
end
-- im.TextColored(colorHelp, 'Ctrl-Up: clone Ctrl-Wheel: in/out-set Alt-Wheel: height Drag:')
elseif W.out.scope == 'wall' then
if editor.keyModifiers.alt then
im.TextColored(colorHelp, 'CLICK: split WHEEL: in/out-set')
else
else
im.TextColored(colorHelp, 'ALT')
end
if editor.keyModifiers.alt then
im.TextColored(colorHelp, 'CLICK: split WHEEL: slope angle L/R: turn')
im.Dummy(im.ImVec2(3, 0))
im.SameLine()
im.TextColored(colorHelp, 'Z: spot select, Z+WHEEL: spot resize')
elseif editor.keyModifiers.ctrl then
elseif editor.keyModifiers.ctrl then
im.TextColored(colorHelp, 'WHEEL: margin size')
else
else
im.TextColored(colorHelp, 'CTRL ALT')
end
else
im.TextColored(colorHelp, ' ')
end
im.Unindent(-30)
im.TextColored(colText, t)
@/lua/ge/extensions/editor/api/gui.lua
else
imgui.TextColored(color or imgui.GetStyleColorVec4(imgui.Col_Text), text)
end
if not pos2 then
imgui.TextColored(textColor, text:sub(pos1))
break
elseif pos1 < pos2 then
imgui.TextColored(textColor, text:sub(pos1, pos2 - 1))
imgui.SameLine()
local pos3 = pos2 + highlightLowerLen
imgui.TextColored(textHighlightColor, text:sub(pos2, pos3))
imgui.SameLine()
else
imgui.TextColored(textColor, text)
end
@/lua/ge/extensions/editor/bulkRename.lua
if entry.collidedWithId ~= 0 then
imgui.TextColored(imgui.ImVec4(255, 0, 0, 255), tostring(entry.collidedWithId))
end
@/lua/ge/extensions/editor/toolUtilities/meshAuditionMgr.lua
im.Separator()
im.TextColored(greenB, "Choose a static mesh for the [" .. meshTarget .. "] component")
im.Separator()
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veTCSDebug.lua
end
im.TextColored(textColors1[k], k)
count = count + 1
im.TextColored(textColors2.slipThreshold, graph2Names[1])
im.SameLine()
im.SameLine()
im.TextColored(textColors2[k], k)
end
end
im.TextColored(textColors3[k], k)
count = count + 1
end
im.TextColored(textColors3[k], k)
count = count + 1
@/lua/ge/extensions/editor/roadEditor.lua
im.Text("Cannot select Road!")
im.TextColored(im.ImVec4(1, 1, 0, 1), "Select and edit not allowed when road is inside packed prefab!")
if im.Button("OK") then
@/lua/ge/extensions/editor/dragRaceEditor/utils.lua
if lastError and errorTimeout > 0 then
im.TextColored(constants.CONSTANTS.COLORS.ERROR, "Error: " .. lastError)
state.setErrorTimeout(errorTimeout - im.GetIO().DeltaTime)
@/lua/ge/extensions/editor/util/vehicleFilterUtil.lua
if #finalConfigs == 0 then
im.TextColored(im.ImVec4(1, 0.5, 0, 1), "No configs selected. Add probability settings or add manually.")
else
@/lua/ge/extensions/editor/rallyEditor/notebookInfo.lua
end
im.TextColored(cc.clr_error, issues)
im.Separator()
@/lua/ge/extensions/editor/util/plotHelperUtil.lua
im.SetCursorPos(txtPos)
im.TextColored(textColor, txt)
end
im.SetCursorPos(txtPos)
im.TextColored(textColor, txt)
end
@/lua/ge/extensions/editor/resourceChecker.lua
end
im.TextColored(im.ImVec4(0.5, 0.9, 1, 1), k..": ")
if im.IsItemHovered() then
drawRectBg(tostring(i), im.ImVec4(0.8, 0.4, 0.1, 1))
im.TextColored(im.ImVec4(1, 1, 1, 1), ' '..i..": ")
else
drawRectBg(tostring(i), im.ImVec4(1, 1, 1, 0.06))
im.TextColored(im.ImVec4(0.5, 0.9, 1, 1), ' '..i..": ")
end
drawRectBg(tostring(i), im.ImVec4(0.8, 0.4, 0.1, 1))
im.TextColored(im.ImVec4(1, 1, 1, 1), ' '..i..": ")
else
drawRectBg(tostring(i), im.ImVec4(0, 0, 0, 0.1))
im.TextColored(im.ImVec4(0.5, 0.9, 1, 1), ' '..i..": ")
end
drawRectBg(tostring(d), im.ImVec4(0.8, 0.4, 0.1, 1))
im.TextColored(im.ImVec4(1, 1, 1, 1), ' '..d..": ")
else
drawRectBg(tostring(d), im.ImVec4(1, 1, 1, 0.06))
im.TextColored(im.ImVec4(0.5, 0.9, 1, 1), ' '..d..": ")
end
drawRectBg(tostring(d), im.ImVec4(0.8, 0.4, 0.1, 1))
im.TextColored(im.ImVec4(1, 1, 1, 1), ' '..d..": ")
else
drawRectBg(tostring(d), im.ImVec4(0, 0, 0, 0.1))
im.TextColored(im.ImVec4(0.5, 0.9, 1, 1), ' '..d..": ")
end
drawRectBg(tostring(o), im.ImVec4(0.8, 0.4, 0.1, 1))
im.TextColored(im.ImVec4(1, 1, 1, 1), ' '..a..": "..o)
else
drawRectBg(tostring(o), im.ImVec4(1, 1, 1, 0.06))
im.TextColored(im.ImVec4(0.5, 0.9, 1, 1), ' '..a..": "..o)
end
drawRectBg(tostring(o), im.ImVec4(0.8, 0.4, 0.1, 1))
im.TextColored(im.ImVec4(1, 1, 1, 1), ' '..a..": "..o)
else
drawRectBg(tostring(o), im.ImVec4(0, 0, 0, 0.1))
im.TextColored(im.ImVec4(0.5, 0.9, 1, 1), ' '..a..": "..o)
end
if count >= maxLines then
im.TextColored(im.ImVec4(1, 1, 1, 1), "Can't display more than "..maxLines.." lines. Please check game log for more info.")
end
im.SetColumnWidth(0, 60)
im.TextColored(im.ImVec4(0.5, 0.9, 1, 1), "No.")
im.NextColumn()
im.Spacing()
im.TextColored(im.ImVec4(0.5, 0.9, 1, 1), "Issue")
im.Spacing()
drawRectBg(tostring(k), im.ImVec4(0.8, 0.4, 0.1, 1))
im.TextColored(im.ImVec4(1, 1, 1, 1), tostring(k))
else
drawRectBg(tostring(k), im.ImVec4(1, 1, 1, 0.06))
im.TextColored(im.ImVec4(0.5, 0.9, 1, 1), tostring(k))
end
drawRectBg(tostring(k), im.ImVec4(0.8, 0.4, 0.1, 1))
im.TextColored(im.ImVec4(1, 1, 1, 1), tostring(k))
else
else
im.TextColored(im.ImVec4(0.5, 0.9, 1, 1), tostring(k))
end
drawRectBg(tostring(v), im.ImVec4(0.8, 0.4, 0.1, 1))
im.TextColored(im.ImVec4(1, 1, 1, 1), tostring(v))
else
drawRectBg(tostring(v), im.ImVec4(1, 1, 1, 0.06))
im.TextColored(im.ImVec4(0.5, 0.9, 1, 1), tostring(v))
end
drawRectBg(tostring(v), im.ImVec4(0.8, 0.4, 0.1, 1))
im.TextColored(im.ImVec4(1, 1, 1, 1), tostring(v))
else
drawRectBg(tostring(v), im.ImVec4(0, 0, 0, 0.1))
im.TextColored(im.ImVec4(0.5, 0.9, 1, 1), tostring(v))
end
if count >= maxLines then
im.TextColored(im.ImVec4(1, 1, 1, 1), "Can't display more than "..maxLines.." lines. Please check game log for more info.")
end
if not getlevel then
im.TextColored(im.ImVec4(1, 1, 0.2, 1), "Level is not loaded")
else
im.TextColored(im.ImVec4(1, 1, 0.2, 1), "Asset Stats")
im.Spacing()
im.TextColored(im.ImVec4(1,1,1,1), "Scene object counts")
im.Text("TSStatic: "..tostring(scene.TSStatic))
elseif resExplorer and resExplorer[1] == 10 and resExplorer[5] == 2 then
im.TextColored(im.ImVec4(1, 0, 0, 1), "Stats failed")
else
if not getlevel then
im.TextColored(im.ImVec4(1, 1, 0.2, 1), "Level is not loaded")
else
elseif verifier and verifier[1] == 2 and verifier[5] == 1 then
im.TextColored(im.ImVec4(1, 1, 0.2, 1), "Verifying done")
im.Spacing()
elseif verifier and verifier[1] == 3 and verifier[5] == 1 then
im.TextColored(im.ImVec4(1, 1, 0.2, 1), "Verifying done")
resultUI("duplicates", matdata, "Detected duplicated materials ("..verifier[2].."),\nit's required to avoid doing that as it can lead into issues.", verifier[4])
elseif verifier and verifier[1] == 5 and verifier[5] == 1 then
im.TextColored(im.ImVec4(1, 1, 0.2, 1), "Finished removing persistentIds")
resultUI("persistentid", matdata, "Removed ("..verifier[2]..") persistentIds in files: ", verifier[4])
elseif verifier and verifier[1] == 6 and verifier[5] == 1 then
im.TextColored(im.ImVec4(1, 1, 0.2, 1), "Finished checking texture maps\nFound: "..verifier[2]+verifier[3]+verifier[6].." issues")
resultUI("textureMap", matdata, "There is ("..verifier[2]..") issues with wrong path to files.\nDetected ("..verifier[3]..") missing textures in materials.\nFound ("..verifier[6]..") issues with Texture Cooker files.\nPlease use .png file extension in Texture Cooker materials to make sure everything works correctly.\n*Numbers next to map name correspond to material layer.", verifier[4], 1)
elseif verifier and verifier[1] == 7 and verifier[5] == 1 then
im.TextColored(im.ImVec4(1, 1, 0.2, 1), "Finished checking texture files\nFound: "..verifier[2]+verifier[3]+verifier[6].." issues")
resultUI("textureFiles", matdata, "There is ("..verifier[2]..") issues with incorrect file format.\nDetected ("..verifier[3]..") textures that are not power of 2.\nFound ("..verifier[6]..") textures that cannot be cooked.\n*Numbers next to map name correspond to material layer.", verifier[4], 1)
elseif verifier and verifier[1] == 8 and verifier[5] == 1 then
im.TextColored(im.ImVec4(1, 1, 0.2, 1), "Verifying done")
resultUI("missingMat", matdata, "Detected ("..verifier[2]..") missing materials: ", verifier[4])
elseif verifier and verifier[1] == 9 and verifier[5] == 1 then
im.TextColored(im.ImVec4(1, 1, 0.2, 1), "Removed dummy mats")
resultUI("remDummy", matdata, "Removed ("..verifier[2]..") dummy materials: ", verifier[4])
elseif verifier and verifier[1] == 10 and verifier[5] == 1 then
im.TextColored(im.ImVec4(1, 1, 0.2, 1), "Exported textures")
resultUI("textureExporter", matdata, "Exported ("..verifier[2]..") textures: ", verifier[4])
elseif verifier and verifier[5] == 2 then
im.TextColored(im.ImVec4(1, 0, 0, 1), "Verification failed")
end
if not getlevel then
im.TextColored(im.ImVec4(1, 1, 0.2, 1), "Level is not loaded")
else
elseif resExplorer and resExplorer[1] == 1 and resExplorer[5] == 1 then
im.TextColored(im.ImVec4(1, 1, 0.2, 1), "Task complete")
resultUI("tsstatics", "/levels/"..getlevel.."/", "There is currently ("..resExplorer[2]..") TSStatics loaded in scene with ("..resExplorer[3].. ") instances.\nTotal Collada size: "..resExplorer[6].." MB\nTotal cache size: "..resExplorer[7].." MB", resExplorer[4])
elseif resExplorer and resExplorer[1] == 2 and resExplorer[5] == 1 then
im.TextColored(im.ImVec4(1, 1, 0.2, 1), "Task complete")
resultUI("forestitems", "/levels/"..getlevel.."/", "There is currently ("..resExplorer[2]..") ForestItems available in the level.\nTotal Collada size: "..resExplorer[6].." MB\nTotal cache size: "..resExplorer[7].." MB", resExplorer[4])
elseif resExplorer and resExplorer[1] == 3 and resExplorer[5] == 1 then
im.TextColored(im.ImVec4(1, 1, 0.2, 1), "Task complete")
resultUI("terrains", "/levels/"..getlevel.."/", "There is currently ("..resExplorer[2]..") TerrainBlocks loaded in scene that have a total size of "..resExplorer[3].." MB: ", resExplorer[4])
elseif resExplorer and resExplorer[1] == 4 and resExplorer[5] == 1 then
im.TextColored(im.ImVec4(1, 1, 0.2, 1), "Task complete")
resultUI("unusedMat", "/levels/"..getlevel.."/", "There is currently ("..resExplorer[2]..") unused Materials in the level: ", resExplorer[4], 0, 1, getlevel, resExplorer[2])
elseif resExplorer and resExplorer[1] == 5 and resExplorer[5] == 1 then
im.TextColored(im.ImVec4(1, 1, 0.2, 1), "Task complete")
resultUI("unusedMesh", "/levels/"..getlevel.."/", "There is currently ("..resExplorer[2]..") unused Meshes in the level that have a total size of "..resExplorer[3].." MB: ", resExplorer[4], 0, 2, getlevel, resExplorer[2])
elseif resExplorer and resExplorer[1] == 6 and resExplorer[5] == 1 then
im.TextColored(im.ImVec4(1, 1, 0.2, 1), "Task complete")
resultUI("unusedTex", "/levels/"..getlevel.."/", "There is currently ("..resExplorer[2]..") unused textures in the level that have a total size of "..resExplorer[3].." MB: ", resExplorer[4], 0, 3, getlevel, resExplorer[2])
elseif resExplorer and resExplorer[1] == 7 and resExplorer[5] == 1 then
im.TextColored(im.ImVec4(1, 1, 0.2, 1), "Task complete, removed: ("..resExplorer[2]..") files with total size of "..resExplorer[3].." MB")
elseif resExplorer and resExplorer[1] == 8 and resExplorer[5] == 1 then
elseif resExplorer and resExplorer[1] == 8 and resExplorer[5] == 1 then
im.TextColored(im.ImVec4(1, 1, 0.2, 1), "Task complete")
resultUI("usedMat", "/levels/"..getlevel.."/", "There is currently ("..resExplorer[2]..") used Materials in the level that have a total size of "..resExplorer[3].." MB: ", resExplorer[4], 0, nil, getlevel, resExplorer[2])
elseif resExplorer and resExplorer[1] == 9 and resExplorer[5] == 1 then
im.TextColored(im.ImVec4(1, 1, 0.2, 1), "Task complete")
resultUI("colData", "/levels/"..getlevel.."/", "There is currently ("..resExplorer[2]..") used static collision meshes in the level that have a total of "..resExplorer[3][1].." polygons.\nThere is ("..resExplorer[3][3]..") static meshes instances that use Visible Mesh Collisions and have total of "..resExplorer[3][2].." polygons: ", resExplorer[4], 0, nil, getlevel, resExplorer[2])
elseif resExplorer and resExplorer[5] == 2 then
im.TextColored(im.ImVec4(1, 0, 0, 1), "Task failed")
end
@/lua/ge/extensions/editor/flowgraph/references.lua
local pos3 = pos2 + highlightLowerLen
im.TextColored(matchColor, label:sub(pos2, pos3))
im.SameLine()
@/lua/ge/extensions/ui/console.lua
if type(t.errors) == 'number' and t.errors > 0 then
im.TextColored(im.ImVec4(1.0, 0.0, 0.0, 1.0), tostring(t.errors) .. 'E ')
--im.SameLine()
if type(t.warnings) == 'number' and t.warnings > 0 then
im.TextColored(im.ImVec4(1.0, 1.0, 0.0, 1.0), tostring(t.warnings) .. 'W')
end
im.SameLine()
im.TextColored(im.ImVec4(1.0, 0.0, 0.0, 1.0), tostring(filterErr) )
im.PopStyleColor()
-- for i,v in ipairs(l) do
-- im.TextColored(lcol,"%s",tostring(v) )
-- im.NextColumn()
-- im.TextColored(lcol,"%s",tostring(v) )
-- if v ~= 2 and im.GetContentRegionAvailWidth() < im.CalcTextSize(tostring(v)).x then
-- im.TextColored(lcol,"%s",tostring(v) )
-- if v ~= 2 and im.GetContentRegionAvailWidth() < im.CalcTextSize(tostring(v)).x then
-- im.TextColored(lcol,"%s",tostring(v))
local txtwidth = im.CalcTextSize(tostring(v)).x
if v ~= 2 and im.GetContentRegionAvailWidth() < txtwidth then
im.TextColored(lcol,string.format("%s", tostring(v):sub(1,256) ))
txtwidth = txtwidth * (1/fontConsoleFact[0])
else
im.TextColored(lcol, "%s", tostring(v))
end
@/lua/ge/extensions/editor/missionPlaybook.lua
im.SameLine()
im.TextColored(grayColor, translateLanguage(mission.starLabels[key],mission.starLabels[key], true))
toggle = im.IsItemClicked() or toggle
@/lua/ge/extensions/editor/missionPlaybook/attributeViewer.lua
if levelDiff > 0 then
im.TextColored(colorGreen, txt)
else
if change > 0 then
im.TextColored(colorGreen, "+"..tostring(change))
elseif change < 0 then
elseif change < 0 then
im.TextColored(colorRed, tostring(change))
end
@/lua/ge/extensions/editor/rallyEditor/pacenotes.lua
if self:isValid() then
im.TextColored(cc.clr_no_error, "No issues")
else
local issuesHeading = "Issues (".. (#self.validation_issues) ..")"
im.TextColored(cc.clr_error, issuesHeading)
local issues = ""
@/lua/ge/extensions/editor/flowgraph/variables.lua
im.PushFont3("cairo_regular_medium")
im.TextColored(localColor,"Current Graph Variables")
im.SameLine()
im.SameLine()
im.TextColored(separatorColor, "|")
ui_flowgraph_editor.tooltip("These variables are only available in this graph.")
local loc = self.mgr.graph:getLocation(editor.getPreference("flowgraph.debug.displayIds"))
im.TextColored(valueTextColor, loc )
im.PopFont()
im.PushFont3("cairo_regular_medium")
im.TextColored(globalColor,"Project Variables")
im.PopFont()
im.PushFont3("cairo_regular_medium")
im.TextColored(globalColor,"Create a new Variable")
im.PopFont()
im.SameLine()
im.TextColored(separatorColor, "|")
im.SameLine()
im.SameLine()
im.TextColored(valueTextColor, valueText)
im.SameLine()
@/lua/ge/extensions/editor/gen/exp_solidflex.lua
im.Indent(1)
im.TextColored(UI.colorNav, 'Hint: ')
im.Unindent(14)
@/lua/ge/extensions/editor/dynamicDecals/layerTypes/linkedSet.lua
for cat, properties in pairs(api.properties) do
im.TextColored(editor.color.beamng.Value, cat)
local props = deepcopy(properties)
im.TextColored(editor.color.beamng.Value, "Properties")
im.SameLine()
@/lua/ge/extensions/gameplay/rally/tools/rallyToolbox.lua
else
im.TextColored(im.ImVec4(1,0,0,1), "driveline load failed!")
end
-- Race Path Debug - static track layout from path.lua (always available)
im.TextColored(subheadingColor, "Race Path")
im.TextColored(subheadingColor, "Pacenotes")
im.TextColored(subheadingColor, "Driveline")
@/lua/ge/extensions/editor/dynamicDecals/settings.lua
im.SameLine()
im.TextColored(editor.color.warning.Value , "Resolution has changed.")
end
@/lua/ge/extensions/editor/dynamicDecals/vehicleColorPalette.lua
if #colorPaletteName == 0 then
im.TextColored(editor.color.warning.Value, "Name must not be empty")
end
@/lua/ge/extensions/editor/forestEditor.lua
if item:getKey() == 0 then
im.TextColored(im.ImVec4(1.0, 0.0, 0.0, 1.0), 'Invalid item!')
return
im.SameLine()
im.TextColored(editor.color.warning.Value, "TextureSet has been modified. Hit the save button to write the changes to disk.")
end
im.SameLine()
im.TextColored(yellow, "No forest object present. Please create one.")
end
@/lua/ge/suspensionFrequencyTester.lua
local b = 0.4
imgui.TextColored(imgui.ImVec4(r, g, b, 1), string.format("%i m/Hz", sumPerHz))
end
local color = (i % 2 == 0) and imgui.ImVec4(1, 1, 1, 1) or imgui.ImVec4(0.6, 0.6, 0.6, 1)
imgui.TextColored(color, string.format("%.2fHz", freq))
end
@/lua/ge/extensions/editor/flowgraph/nodelibrary.lua
local pos3 = pos2 + highlightLowerLen
im.TextColored(matchColor, label:sub(pos2, pos3))
im.SameLine()
@/lua/ge/extensions/gameplay/rally/loop/stagedCountdownUtils.lua
if nodeData.test then
im.TextColored(im.ImVec4(1, 1, 0, 1), "TEST MODE")
end
if timeUntilStagingCheck > 0 and timeUntilStagingCheck < stagingCheckTime then
im.TextColored(im.ImVec4(1, 0.8, 0.2, 1), string.format("Staging check in: %.1fs", timeUntilStagingCheck))
end
@/lua/ge/extensions/editor/assetBrowser.lua
for _, message in pairs(var.newFolderMessages) do
im.TextColored(message.color, message.text)
end
if dir.selectedInABView then
im.TextColored(im.GetStyleColorVec4(im.Col_ButtonActive), dirName)
else
icon(set, im.ImVec2(var.options.thumbnailSize/4, var.options.thumbnailSize/4), im.GetStyleColorVec4(im.Col_Text))
-- if file.selected then im.TextColored(im.GetStyleColorVec4(im.Col_ButtonActive), file.fullFileName) else im.TextUnformatted(file.fullFileName) end
end
end
if material.selectedInABView then im.TextColored(im.GetStyleColorVec4(im.Col_ButtonActive), material.name) else im.TextUnformatted(material.name) end
im.EndChild()
if file.selectedInABView then
im.TextColored(im.GetStyleColorVec4(im.Col_ButtonActive),file.fullFileName)
else
im.SameLine()
im.TextColored(editor.color.warning.Value, "Background image not found: " .. (isCheckerBoardEnabled and var.imageInspector_checkerboardBgPath or (isWhiteBgEnabled and var.imageInspector_whiteBgPath or var.imageInspector_blackBgPath)))
else
im.TextColored(editor.color.warning.Value, "Changes take effect after a game restart or Lua reload!")
@/lua/ge/extensions/gameplay/rally/tools/loopToolbox.lua
-- Mission info
im.TextColored(colorYellow, "Mission Info")
im.Text(" Mission ID: " .. tostring(manager.missionId or "N/A"))
im.TextColored(colorYellow, "Proximity Data")
local statusColor = proximityData.isNear and colorGreen or colorRed
im.TextColored(statusColor, string.format("Near: %s | Dist: %.2fm | Frozen: %s", tostring(proximityData.isNear), proximityData.distance or 0, tostring(proximityData.isFrozen or false)))
local progress = (proximityData.timer or 0) / math.max(1e-12, proximityData.duration or 1)
-- Mission Progress
im.TextColored(colorYellow, "Runtime Info")
local currentMissionId = manager:getCurrentMissionId()
im.SameLine()
im.TextColored(colorRed, " [MISMATCH]")
end
else
im.TextColored(colorRed, " Loop Mission ID: " .. currentMissionId)
end
else
im.TextColored(colorRed, " Missions System Mission ID: " .. foregroundMissionId)
end
-- im.TextColored(colorYellow, "Stage Time")
-- if raceDataSummary.isComplete then
-- im.TextColored(colorLightBlue, " Final Time: " .. timeStr)
-- else
-- -- im.Spacing()
-- -- im.TextColored(colorYellow, "Splits")
-- -- for i, split in ipairs(raceDataSummary.splits) do
-- Settings
im.TextColored(colorYellow, "Draw Settings")
if im.Checkbox("Route", self.drawRoute) then
-- Rally Loop Structure Visualization
im.TextColored(colorYellow, "Overview")
im.SetWindowFontScale(1.3)
im.TextColored(colorLightBlue, " Total Time: " .. totalTimeStr)
im.SetWindowFontScale(1.0)
im.SetWindowFontScale(1.3)
im.TextColored(colorRed, string.format(" Total Penalty: +%ds", totalPenalty))
im.SetWindowFontScale(1.0)
im.TextColored(colorYellow, "Schedule")
if entry.missionId == currentMissionId then
im.TextColored(colorGreen, " " .. displayName)
else
eventColor = colorGreen
im.TextColored(colorGreen, eventText)
im.SameLine()
im.TextColored(colorLightBlue, currentTimeStr)
if not event.hideTimecardEntry then
im.SameLine()
im.TextColored(statusColor, statusText)
end
-- Display timecard entry
im.TextColored(timecardColor, timecardText)
end
if eventColor then
im.TextColored(eventColor, ")")
else
local stageText = " SS Time: " .. stageTimeStr
im.TextColored(colorLightBlue, stageText)
im.SameLine()
im.TextColored(colorRed, string.format(" +%ds false start", falseStartPenalty))
end
-- Service variables (camera controls)
-- im.TextColored(colorYellow, "Camera Controls")
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veGeneralData.lua
if vEditor.generalData then
im.TextColored(im.ImVec4(0.0, 1.0, 0.0, 1.0),"Vehicle General Data")
im.Columns(2, "Data")
@/lua/ge/extensions/editor/util/zoneSelectorUtil.lua
if #e.loadedZones == 0 then
im.TextColored(imVec4Yellow, "No zones found. Please check the Global Info Folder path and ensure garages.sites.json exists.")
else
else
im.TextColored(imVec4TransparentWhite, "No initial zones selected")
end
else
im.TextColored(imVec4TransparentWhite, "No destination zones selected")
end
@/lua/ge/extensions/editor/inspector.lua
local textColor = imgui.GetStyleColorVec4(imgui.Col_Text)
imgui.TextUnformatted("Class:") imgui.SameLine() imgui.TextColored(textColor, valueInspector.selectionClassName)
imgui.SameLine()
imgui.TextUnformatted("ID:") imgui.SameLine() imgui.TextColored(textColor, tostring(obj:getId()))
imgui.SameLine()
if grp then
imgui.TextUnformatted("Parent:") imgui.SameLine() imgui.TextColored(textColor, tostring(grp:getName()))
end
@/lua/ge/extensions/editor/rallyEditor/drivelineTab.lua
im.HeaderText("Source Selection")
im.TextColored(im.ImVec4(1, 0, 0, 1), "Error: " .. self.loadError)
im.Spacing()
im.SameLine()
im.TextColored(im.ImVec4(0, 1, 1, 1), "(help)")
im.tooltip("- Click nodes to select\n- Drag to move nodes\n- Click curve: Insert node\n- Click free space: Add to nearest end\n- DELETE: Remove node")
elseif self.calculatedRaceDistance == false then
im.TextColored(im.ImVec4(1, 0.5, 0, 1), "No start/finish positions found")
end
@/lua/ge/extensions/editor/masterSpline.lua
local function renderDesignProfileUI(selSpline, icons)
im.TextColored(cols.greenB, "Design Profile:")
im.Columns(6, "designProfilePresetRow", false)
if #splines > 0 then
im.TextColored(cols.greenB, "Master Splines:")
selectedSplineIdx = max(1, min(#splines, selectedSplineIdx)) -- Ensure the selected layer index is within bounds.
else
im.TextColored(cols.dullWhite, ffi.string(splineNamePtr))
im.tooltip('This Master Spline is disabled.')
im.Separator()
im.TextColored(cols.greenB, "Auto Banking:")
im.Columns(2, "autoBankingSlidersRow", false)
if selSpline and selSpline.isEnabled and not selSpline.isOptimising then
im.TextColored(cols.greenB, "Layers:")
local layers = selSpline.layers
-- Layer-specific controls.
im.TextColored(cols.greenB, "Layer Controls:")
im.Dummy(im.ImVec2(0, 2))
im.Columns(1)
im.TextColored(cols.greenB, "Spline Is Conformed To Surface")
im.Text("Terraforming controls are disabled.")
im.Columns(1)
im.TextColored(cols.greenB, "Terraforming:")
im.Columns(1)
im.TextColored(cols.greenB, "Constraints:")
local tmpPtr = im.IntPtr(selSpline.splineAnalysisMode)
im.Columns(1)
im.TextColored(cols.greenB, "Live Optimize:")
if #selSpline.nodes > 2 then
im.Separator()
im.TextColored(cols.greenB, "Generator Settings:")
im.Columns(2, "autoRoadSlidersRow", false)
@/lua/ge/extensions/editor/rallyEditor/pacenotes/measurementsForm.lua
im.SameLine()
im.TextColored(im.ImVec4(0, 1, 1, 1), "(?)")
im.tooltip("Default: none\nSetting this will split the corner into two segments for separate intensity measurement.\nThis helps detect opens and tightens.")
im.SameLine()
im.TextColored(im.ImVec4(0.5, 1, 0.5, 1), string.format("(fit: %.3f)", pacenote.autoSelectedFitValue))
end
if not measurement1 then
im.TextColored(im.ImVec4(1, 0.5, 0, 1), "No measurement data available")
im.Text("Measurements will be calculated when pacenote is selected.")
im.TextColored(changeColor, changeText)
end
@/lua/ge/extensions/editor/multiSpawnManager.lua
if imValues.amount[0] > amountWarn then
im.TextColored(colorWarning, "Warning, too many vehicles may result in poor performance!")
end
im.SameLine()
im.TextColored(colorWarning, "Please wait...") -- while loading vehicles
end
im.SameLine()
im.TextColored(colorWarning, timedTexts.save[1])
end
@/lua/ge/extensions/editor/gen/exp_frame.lua
im.PushFont3("cairo_regular_medium")
im.TextColored(UI.colorNav, 'Hint: ')
@/lua/ge/extensions/editor/flowgraph/main.lua
im.SameLine()
im.TextColored(im.ImVec4(1,0.25,0.25,1), "This is an Instance. Read only.")
elseif graph.type == 'macro' then
@/lua/ge/extensions/editor/terrainMaterialsEditor.lua
im.TextUnformatted("This will create a TerrainMaterialTextureSet object and attach it to your Terrain Blocks.")
im.TextColored(editor.color.warning.Value, [[
DISCLAIMER: The upgraded terrain material system introduces new properties.
im.Dummy(im.ImVec2(0,10))
im.TextColored(editor.color.warning.Value, "Once the terrain materials are upgraded you won't be able to fallback to the former system within this editor.")
im.TextUnformatted("Do not forget to save the level in order to apply the changes that have been made to the TerrainBlock object.")
if not editor_terrainEditor.getTerrainBlock() then
im.TextColored(editor.color.warning.Value, "There's no Terrain Block in the scene.")
end
im.PushTextWrapPos(im.GetContentRegionAvailWidth())
im.TextColored(editor.color.warning.Value, "The Terrain Materials reside in a file with a deprecated format.")
if im.Button("Upgrade Terrain Material file format", im.ImVec2(im.GetContentRegionAvailWidth(), 0)) then
if notificationState == 1 then
im.TextColored(im.ImVec4(1.0, 0.0, 0.0, 1.0), "First character must not be a number.")
elseif notificationState == 2 then
elseif notificationState == 2 then
im.TextColored(im.ImVec4(1.0, 0.0, 0.0, 1.0), "Material name must not be empty.")
elseif notificationState == 3 then
elseif notificationState == 3 then
im.TextColored(im.ImVec4(1.0, 0.0, 0.0, 1.0), "This material already exists.")
end
@/lua/ge/extensions/editor/dynamicDecals/helper.lua
im.SetCursorPosX(im.GetCursorPosX() + im.GetContentRegionAvailWidth() / 2 - im.CalcTextSize(string_label).x / 2)
im.TextColored(color, string_label)
end
@/lua/ge/extensions/editor/dynamicDecals/fonts.lua
if #generatedFontAtlases == 0 then
im.TextColored(editor.color.warning.Value, "No font atlases have been generated yet.")
if im.Button("Open fonts section##1st_button") then
for _, notification in ipairs(fontGenNotifications) do
im.TextColored(notification.color or editor.color.warning.Value, notification.msg)
end
@/lua/ge/extensions/editor/audioRibbonEditor.lua
else
im.TextColored(cols.dullWhite, ribbon.name)
im.tooltip('This ribbon is disabled. To edit or remove it, first enable it.')
im.SetColumnWidth(0, 40)
im.TextColored(cols.greenB, 'Type:')
im.SameLine()
-- Speed/Depth sliders.
im.TextColored(cols.greenB, 'Master Controls:')
im.PushItemWidth(-1)
im.Columns(1)
im.TextColored(cols.greenB, 'Mix:')
im.Columns(isAmbient and 1 or 4, "sfxEmittersColumns", true)
im.Columns(1)
im.TextColored(cols.greenB, 'Event Paths:')
@/lua/ge/extensions/editor/dynamicDecals/docs.lua
im.SetCursorPosX(im.GetCursorPosX() + im.GetContentRegionAvailWidth() / 2 - titleSize.x / 2)
im.TextColored(editor.color.beamng.Value, windowName)
im.PopFont()
im.SetCursorPosX(im.GetCursorPosX() + im.GetContentRegionAvailWidth() / 2 - titleSize.x / 2)
im.TextColored(editor.color.beamng.Value, currentSection.name)
im.PopFont()
if subtitle then
im.TextColored(editor.color.grey.Value, subtitle)
end
im.TextColored(editor.color.beamng.Value, "Please keep in mind that this tool is work-in-progress. We're actively working to enhance and refine the experience based on your feedback.")
im.TextUnformatted("We can't wait to see the incredible liveries you create and share with the community!")
@/lua/ge/extensions/editor/gen/lib/ui.lua
-- im.Indent(50+10)
im.TextColored(c, txt)
-- im.Unindent(50)
im.Indent(4+shift.x) --dim.x+6)
im.TextColored(c, txt)
im.Unindent(4+shift.x)
@/lua/ge/extensions/editor/dynamicDecals/notification.lua
if msgtype == 'string' then
im.TextColored(colors[notification.level].Value, string.format("%s - %s", notification.title, notification.msg))
elseif msgtype == 'function' then
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veAeroDebug.lua
im.TextColored(im.ImVec4(0.0, 1.0, 0.0, 1.0),"Vehicle Aero Forces")
im.Columns(2, "Data")
im.PushItemWidth(100)
im.TextColored(im.ImVec4(0.0, 1.0, 0.0, 1.0),"Axle Configuration")
im.TextColored(im.ImVec4(0.0, 1.0, 0.0, 1.0),"Axle Aero Forces")
im.Columns(2, "Data")
@/lua/ge/extensions/editor/flowgraph/overview.lua
end
im.TextColored(ui_flowgraph_editor.getGraphTypes()[graph.type].color, "[" .. graphTypeStr .. "]")
selectThisGraph = selectThisGraph or im.IsItemClicked()
--im.SameLine()
--im.TextColored(im.ImVec4(1,0.6,0,1), '[' .. tostring(tableSize(graph.nodes)) .. ']')
--selectThisGraph = selectThisGraph or im.IsItemClicked()
im.SameLine()
im.TextColored(im.ImVec4(1,0.6,0,1), " [Node]")
im.Separator()
im.TextColored(im.ImVec4(0.8,0.8,1,1), "Graphs")
im.BeginChild1("overviewchild###")
im.Separator()
im.TextColored(im.ImVec4(0.8,0.8,1,1), "Macros")
@/lua/ge/extensions/editor/trafficSignalsEditor.lua
if not currInstance.road then
im.TextColored(imColors.warning, "Warning, could not find closest road node!")
end
if timedTexts.selectObjects then
im.TextColored(imColors.warning, timedTexts.selectObjects[1])
elseif timedTexts.applyFields then
elseif timedTexts.applyFields then
im.TextColored(imColors.warning, timedTexts.applyFields[1])
else
im.SameLine()
im.TextColored(imColors.warning, "Infinite duration")
end
im.SameLine()
im.TextColored(imColors.warning, "Main simulation is currently paused.")
end
im.SameLine()
im.TextColored(imColors.warning, timedTexts.save[1])
end
im.SameLine()
im.TextColored(imColors.warning, timedTexts.renameObjects[1])
end
im.SameLine()
im.TextColored(imColors.warning, timedTexts.signalsValid[1])
end
im.SameLine()
im.TextColored(imColors.error, timedTexts.signalsInvalid[1])
end
@/lua/ge/extensions/editor/mapSensorEditor.lua
if editor.beginWindow(cameraPreviewWinName, sensor.name .. " [Preview]###34", im.flags(im.WindowFlags_NoCollapse)) then
im.TextColored(gray, "Note: At least 'High' graphic setting is recommended for quality previews.")
local ptr = im.BoolPtr(sensor.forceGimbals)
-- 'Position' input box.
im.TextColored(greenB, 'Camera Position:')
local oldVal = sensor.pos.x
-- 'Size/Resolution' input box.
im.TextColored(greenB, 'Camera Resolution:')
local oldVal = sensor.size[1]
-- 'Set Frustum Parameters' input box.
im.TextColored(greenB, 'Camera Frustum:')
local oldVal = sensor.fovY
-- 'Set Update Time' input box.
im.TextColored(greenB, 'Camera Update Properties:')
local oldVal = sensor.requestedUpdateTime
-- 'Is Visualised' checkbox.
im.TextColored(greenB, 'Camera Operation Flags:')
local oldVal = sensor.renderColours
end
im.TextColored(greenB, 'LiDAR Operating Mode: [' .. lMode .. ']')
local btnCol = blueB
-- 'Position' input box.
im.TextColored(greenB, 'LiDAR Position:')
local oldVal = sensor.pos.x
-- 'Core Properties' input boxes.
im.TextColored(greenB, 'LiDAR Core Properties:')
local oldVal = sensor.verticalResolution
-- 'Set Update Time' input box.
im.TextColored(greenB, 'LiDAR Update Properties:')
local oldVal = sensor.requestedUpdateTime
-- 'Is Annotated' checkbox.
im.TextColored(greenB, 'LiDAR Operation Flags:')
local oldVal = sensor.isAnnotated
-- 'Position' input box.
im.TextColored(greenB, 'Ultrasonic Position:')
local oldVal = sensor.pos.x
-- 'Size/Resolution' input box.
im.TextColored(greenB, 'Ultrasonic Resolution:')
local oldVal = sensor.size[1]
-- 'Set Frustum Parameters' input box.
im.TextColored(greenB, 'Ultrasonic Frustum:')
local oldVal = sensor.fovY
-- 'Core Properties' input boxes.
im.TextColored(greenB, 'Ultrasonic Beam Properties:')
local oldVal = sensor.rangeRoundness
-- 'Core Properties' input boxes.
im.TextColored(greenB, 'Ultrasonic Detection Properties:')
local oldVal = sensor.sensitivity
-- 'Set Update Time' input box.
im.TextColored(greenB, 'Ultrasonic Update Properties:')
local oldVal = sensor.requestedUpdateTime
-- 'Is Visualised' checkbox.
im.TextColored(greenB, 'Ultrasonic Operation Flags:')
local oldVal = sensor.isVisualised
-- 'Position' input box.
im.TextColored(greenB, 'RADAR Position:')
local oldVal = sensor.pos.x
-- 'Size/Resolution' input box.
im.TextColored(greenB, 'RADAR Resolution:')
local oldVal = sensor.size[1]
-- 'Set Frustum Parameters' input box.
im.TextColored(greenB, 'RADAR Frustum:')
local oldVal = sensor.fovY
-- 'Core Properties' input boxes.
im.TextColored(greenB, 'RADAR Beam Properties:')
local oldVal = sensor.rangeRoundness
-- 'Core Properties' input boxes.
im.TextColored(greenB, 'RADAR Post-Processing Properties:')
local oldVal = sensor.rangeBins
-- 'Set Update Time' input box.
im.TextColored(greenB, 'RADAR Update Properties:')
local oldVal = sensor.requestedUpdateTime
-- 'Is Visualised' checkbox.
im.TextColored(greenB, 'RADAR Operation Flags:')
local oldVal = sensor.isVisualised
@/lua/ge/extensions/editor/dragRaceEditor/dragSettings.lua
im.SameLine()
im.TextColored(constants.CONSTANTS.COLORS.SUCCESS, "Loaded!")
im.SameLine()
im.SameLine()
im.TextColored(constants.CONSTANTS.COLORS.WARNING, "No prefab loaded")
end
@/lua/ge/extensions/editor/rallyEditor.lua
-- im.PushFont3('robotomono_regular')
-- im.TextColored(clr, 'Selection')
-- im.TextColored(clr, ' P: '..(selParts[1] or '-'))
-- im.TextColored(clr, 'Selection')
-- im.TextColored(clr, ' P: '..(selParts[1] or '-'))
-- im.TextColored(clr, ' W: '..(selParts[2] or '-'))
-- im.TextColored(clr, ' P: '..(selParts[1] or '-'))
-- im.TextColored(clr, ' W: '..(selParts[2] or '-'))
-- im.PopFont()
@/lua/ge/extensions/editor/missionEditor/issues.lua
im.TableNextColumn()
im.TextColored(getSeverityColor(issue.severity), issue.severity)
im.TableNextColumn()
@/lua/ge/extensions/editor/missionPlaybook/unlockedMissionsViewer.lua
if highlight then
im.TextColored(hColor, id)
else
@/lua/ge/extensions/flowgraph/nodes/debug/comment.lua
--editor.uiIconImage("lock")
im.TextColored(self.textColorVec4,ffi.string(self.commentTitle))
im.EndGroup()
im.SetCursorPos(cp)
im.TextColored(self.textColorVec4,self.commentText)
im.EndGroup()
im.BeginGroup()
im.TextColored(self.textColorVec4,self.commentTitle)
im.EndGroup()
@/lua/ge/extensions/editor/rallyEditor/pacenotes/structuredForm.lua
im.SameLine()
im.TextColored(im.ImVec4(0, 1, 1, 1), "(?)")
im.tooltip(cautionTooltip)
@/lua/ge/extensions/editor/terrainEditor.lua
im.TextUnformatted("Generate") im.SameLine()
im.TextColored(editor.color.warning.Value, selectedPaintMaterialProxy.internalName) im.SameLine()
im.TextUnformatted("layer mask.")
im.PushTextWrapPos(im.GetContentRegionAvailWidth())
im.TextColored(editor.color.warning.Value, "Warning: This action may take a while. BeamNG will not be responsive during this time.")
im.PopTextWrapPos()
for id, notification in pairs(notifications) do
im.TextColored(im.ImVec4(1.0, 0.73, 0.04, 1.0), notification)
end
@/lua/ge/extensions/flowgraph/nodes/activity/activityFlow.lua
im.Text("Activity: "..(self.mgr.activity and "yes" or "no"))
im.TextColored(self.mgr.activity and colorEnabled or colorDisabled, self.mgr.activity and ("..."..self.mgr.activity.id:sub(-15)) or "(standalone)")
end
@/lua/ge/extensions/flowgraph/nodes/input/blacklistAction.lua
local pos3 = pos2 + highlightLowerLen
im.TextColored(matchColor, label:sub(pos2, pos3))
im.SameLine()
@/lua/ge/extensions/editor/preferences.lua
imgui.PushFont3("cairo_regular_medium")
imgui.TextColored(imgui.GetStyleColorVec4(imgui.Col_NavHighlight), cat.label .. " Preferences")
imgui.PopFont()
@/lua/ge/extensions/editor/util/editorElementHelper.lua
local function bigDecoHeaderDraw(e, ctd) im.PushFont3("cairo_semibold_large") im.TextColored(e.color, e.text) im.PopFont() end
local function decoHeaderDraw(e, ctd) im.PushFont3("cairo_regular_medium") im.TextColored(e.color, e.text) im.PopFont() end
local function bigDecoHeaderDraw(e, ctd) im.PushFont3("cairo_semibold_large") im.TextColored(e.color, e.text) im.PopFont() end
local function decoHeaderDraw(e, ctd) im.PushFont3("cairo_regular_medium") im.TextColored(e.color, e.text) im.PopFont() end
local function decoTextDraw(e, ctd) im.Columns(2) im.SetColumnWidth(0,columnWidth) im.Dummy(im.ImVec2(1,1)) im.NextColumn() im.TextWrapped(e.text) if e.tooltip then im.tooltip(e.tooltip) end im.Columns(1) end
@/lua/ge/extensions/editor/objectToSplineEditor.lua
im.SameLine()
im.TextColored(im.ImVec4(1, 1, 0, 1), guideErrorTxt)
end
@/lua/ge/extensions/gameplay/rally/tools/devTools.lua
if sectionExpanded then
im.TextColored(im.ImVec4(1, 0.7, 0.3, 1), "Note: Pacenotes debug drawing is hidden while this section is expanded")
im.Separator()
@/lua/ge/extensions/editor/flowgraph/search.lua
local pos3 = pos2 + highlightLowerLen
im.TextColored(matchColor, label:sub(pos2, pos3))
im.SameLine()
@/lua/ge/extensions/editor/decalEditor.lua
im.SameLine()
im.TextColored(im.ImVec4(1, 0.3, 0, 1), "< Decal Templates not saved")
end
@/lua/ge/extensions/editor/sensorConfigurationEditor.lua
local function showNoDataMessage()
im.TextColored(gray, "Waiting for sensor data...")
im.Text("Make sure the vehicle is active and the sensor is live.")
local function renderCameraPreview(sensor, vehicle, dt)
im.TextColored(gray, "Note: At least 'High' graphic setting is recommended for quality previews.")
local ptr = im.BoolPtr(sensor.forceGimbals)
im.TextColored(greenB, "Acceleration (m/s²)")
im.Spacing()
im.Spacing()
im.TextColored(greenB, "Angular Velocity (rad/s)")
im.Spacing()
im.TextColored(greenB, "Distance Measurement")
im.Spacing()
-- 'Position' input box.
im.TextColored(greenB, 'Camera Position (Relative To Vehicle Center):')
local oldVal = sensor.pos.x
-- 'Size/Resolution' input box.
im.TextColored(greenB, 'Camera Resolution:')
local oldVal = sensor.size[1]
-- 'Set Frustum Parameters' input box.
im.TextColored(greenB, 'Camera Frustum:')
local oldVal = sensor.fovY
-- 'Set Update Time' input box.
im.TextColored(greenB, 'Camera Update Properties:')
local oldVal = sensor.requestedUpdateTime
-- 'Is Visualised' checkbox.
im.TextColored(greenB, 'Camera Operation Flags:')
local oldVal = sensor.renderColours
end
im.TextColored(greenB, 'LiDAR Operating Mode: [' .. lMode .. ']')
local btnCol = blueB
-- 'Position' input box.
im.TextColored(greenB, 'LiDAR Position (Relative To Vehicle Center):')
local oldVal = sensor.pos.x
-- 'Core Properties' input boxes.
im.TextColored(greenB, 'LiDAR Core Properties:')
local oldVal = sensor.verticalResolution
-- 'Set Update Time' input box.
im.TextColored(greenB, 'LiDAR Update Properties:')
local oldVal = sensor.requestedUpdateTime
-- 'Is Annotated' checkbox.
im.TextColored(greenB, 'LiDAR Operation Flags:')
local oldVal = sensor.isAnnotated
-- 'Position' input box.
im.TextColored(greenB, 'Ultrasonic Position (Relative To Vehicle Center):')
local oldVal = sensor.pos.x
-- 'Size/Resolution' input box.
im.TextColored(greenB, 'Ultrasonic Resolution:')
local oldVal = sensor.size[1]
-- 'Set Frustum Parameters' input box.
im.TextColored(greenB, 'Ultrasonic Frustum:')
local oldVal = sensor.fovY
-- 'Core Properties' input boxes.
im.TextColored(greenB, 'Ultrasonic Beam Properties:')
local oldVal = sensor.rangeRoundness
-- 'Core Properties' input boxes.
im.TextColored(greenB, 'Ultrasonic Detection Properties:')
local oldVal = sensor.sensitivity
-- 'Set Update Time' input box.
im.TextColored(greenB, 'Ultrasonic Update Properties:')
local oldVal = sensor.requestedUpdateTime
-- 'Is Visualised' checkbox.
im.TextColored(greenB, 'Ultrasonic Operation Flags:')
local oldVal = sensor.isVisualised
-- 'Position' input box.
im.TextColored(greenB, 'RADAR Position (Relative To Vehicle Center):')
local oldVal = sensor.pos.x
-- 'Size/Resolution' input box.
im.TextColored(greenB, 'RADAR Resolution:')
local oldVal = sensor.size[1]
-- 'Set Frustum Parameters' input box.
im.TextColored(greenB, 'RADAR Frustum:')
local oldVal = sensor.fovY
-- 'Core Properties' input boxes.
im.TextColored(greenB, 'RADAR Beam Properties:')
local oldVal = sensor.rangeRoundness
-- 'Core Properties' input boxes.
im.TextColored(greenB, 'RADAR Post-Processing Properties:')
local oldVal = sensor.rangeBins
-- 'Set Update Time' input box.
im.TextColored(greenB, 'RADAR Update Properties:')
local oldVal = sensor.requestedUpdateTime
-- 'Is Visualised' checkbox.
im.TextColored(greenB, 'RADAR Operation Flags:')
local oldVal = sensor.isVisualised
-- 'Position' input box.
im.TextColored(greenB, 'IMU Position (Relative To Vehicle Center):')
local oldVal = sensor.pos.x
-- 'Set (Physics) Update Time' input box.
im.TextColored(greenB, 'IMU Update Properties:')
local oldVal = sensor.physicsUpdateTime
-- 'Set Smoother Strength' input box.
im.TextColored(greenB, 'IMU Post-Processing Properties:')
local oldVal = sensor.smootherStrength
-- 'Is Using Gravity' checkbox.
im.TextColored(greenB, 'IMU Operation Flags:')
local oldVal = sensor.isUsingGravity
-- 'Position' input box.
im.TextColored(greenB, 'GPS Position (Relative To Vehicle Center):')
local oldVal = sensor.pos.x
-- 'Set (Physics) Update Time' input box.
im.TextColored(greenB, 'GPS Update Properties:')
local oldVal = sensor.physicsUpdateTime
-- 'Set Acceleration Window Width (Smoothing)' input box.
im.TextColored(greenB, 'GPS Localization Properties:')
local oldVal = sensor.refLon
-- 'Is Visualised' checkbox.
im.TextColored(greenB, 'GPS Operation Flags:')
local oldVal = sensor.isVisualised
im.TextColored(greenB, 'Ideal RADAR Sensor:')
im.Text("Including this sensor will provide info about")
im.Dummy(im.ImVec2(5, 0))
im.TextColored(redB, "This sensor does not require attachment/placing.")
im.TextColored(redB, "Only one instance of this sensor per vehicle.")
im.TextColored(redB, "This sensor does not require attachment/placing.")
im.TextColored(redB, "Only one instance of this sensor per vehicle.")
-- 'Set (Physics) Update Time' input box.
im.TextColored(greenB, 'Ideal RADAR Update Properties:')
local oldVal = sensor.physicsUpdateTime
im.TextColored(greenB, 'Local Road Info Sensor:')
im.Text("Including this sensor will provide info about")
im.Dummy(im.ImVec2(5, 0))
im.TextColored(redB, "This sensor does not require attachment/placing.")
im.TextColored(redB, "Only one instance of this sensor per vehicle.")
im.TextColored(redB, "This sensor does not require attachment/placing.")
im.TextColored(redB, "Only one instance of this sensor per vehicle.")
-- 'Set (Physics) Update Time' input box.
im.TextColored(greenB, 'Road Info Sensor Update Properties:')
local oldVal = sensor.physicsUpdateTime
im.TextColored(greenB, 'Powertrain Info Sensor:')
im.Text("Including this sensor will provide info about")
im.Dummy(im.ImVec2(5, 0))
im.TextColored(redB, "This sensor does not require attachment/placing.")
im.TextColored(redB, "Only one instance of this sensor per vehicle.")
im.TextColored(redB, "This sensor does not require attachment/placing.")
im.TextColored(redB, "Only one instance of this sensor per vehicle.")
-- 'Set (Physics) Update Time' input box.
im.TextColored(greenB, 'Powertrain Info Update Properties:')
local oldVal = sensor.physicsUpdateTime
im.TextColored(greenB, 'Mesh Distribution Info Sensor:')
im.Text("Including this sensor will provide quantities:")
im.Dummy(im.ImVec2(5, 0))
im.TextColored(redB, "This sensor does not require attachment/placing.")
im.TextColored(redB, "Only one instance of this sensor per vehicle.")
im.TextColored(redB, "This sensor does not require attachment/placing.")
im.TextColored(redB, "Only one instance of this sensor per vehicle.")
-- 'Set (Physics) Update Time' input box.
im.TextColored(greenB, 'Mesh Distribution Info Update Properties:')
local oldVal = sensor.physicsUpdateTime
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veJBeamPicker.lua
im.TextColored(im.ImVec4(v.color[1],v.color[2],v.color[3],v.color[4]), string.format("%s (live / avg) = %s / %s %s", name, strVal, strAvgVal, units))
--im.Text(string.format("%s = %.2f %s", name, val, units))
im.TextColored(im.ImVec4(v.color[1],v.color[2],v.color[3],v.color[4]), string.format("%s (live / avg) = %s / %s %s", name, strVal, strAvgVal, units))
--im.Text(string.format("%s = %.2f %s", name, val, units))
@/lua/ge/extensions/editor/missionEditor/setupModules.lua
im.SameLine()
im.TextColored(im.ImVec4(1, 1, 0, 1), " Warning: All traffic vehicles will start out as hidden.")
end
im.SameLine()
im.TextColored(im.ImVec4(1, 1, 0, 1), " Warning: All traffic vehicles will not respawn during gameplay.")
end
@/lua/ge/extensions/editor/flowgraph/welcome.lua
im.SetWindowFontScale(2)
im.TextColored(im.GetStyleColorVec4(im.Col_NavHighlight), txt)
im.SetWindowFontScale(1)
--im.BeginChild1("##" .. txt, im.ImVec2(im.GetContentRegionAvailWidth(), lowerTxt and 80 or 30), nil, im.WindowFlags_NoScrollWithMouse)
im.TextColored(col, txt)
@/lua/ge/extensions/editor/assemblySpline.lua
if #assemblySplines > 0 then
im.TextColored(cols.greenB, "Assembly Splines:")
im.PushItemWidth(-1)
if spline.isLink then
im.TextColored(cols.dullWhite, spline.name)
im.tooltip('This assembly spline is linked to a Master Spline. To edit or remove it, first unlink it from within the Master Spline Editor.')
elseif not spline.isEnabled then
im.TextColored(cols.dullWhite, spline.name)
im.tooltip('This assembly spline is disabled. To edit or remove it, first enable it.')
-- Spline Properties section.
im.TextColored(cols.greenB, "Spline Properties:")
im.PushItemWidth(-1)
im.Separator()
im.TextColored(cols.greenB, "Molecule Pre-Rotation:")
im.Columns(4)
im.Separator()
im.TextColored(cols.greenB, "Random Variation:")
im.PushItemWidth(-1)
-- Preset buttons.
im.TextColored(cols.greenB, "Presets:")
im.Columns(3, "presetBtns", false)
im.SetColumnWidth(1, 40)
im.TextColored(cols.blueB, 'Imported Kit:')
im.SameLine()
local sourceCount = selSpline.importedKit and #selSpline.importedKit.sourceMeshPaths or 0
im.TextColored(cols.blueB, string.format('[Imported from %d TSStatics]', sourceCount))
im.tooltip('This assembly spline was imported from scene TSStatic objects.')
im.Dummy(im.ImVec2(0, 5))
im.TextColored(cols.greenB, "Molecule Components:")
im.Columns(4, "rigidComponentsColumns", true)
-- Show the mesh file name.
im.TextColored(cols.purpleB, mesh.fileName)
im.tooltip(mesh.meshPath)
if isRoot then
im.TextColored(cols.redB, "[root]")
im.tooltip("The root mesh of the molecule.")
elseif isEnabled then
im.TextColored(cols.dullWhite, "[child]")
im.tooltip("A child mesh of the molecule.")
im.NextColumn()
im.TextColored(cols.dullWhite, " * " .. variation.fileName)
im.tooltip(variation.meshPath)
im.NextColumn()
im.TextColored(cols.dullWhite, "var" .. tostring(j))
im.tooltip("This is variation " .. tostring(j) .. " of the base component.")
im.Dummy(im.ImVec2(0, 5))
im.TextColored(cols.greenB, "Bridge Components:")
im.Columns(4, "bridgeComponentsColumns", true)
-- Show the mesh file name.
im.TextColored(cols.purpleB, mesh.fileName)
im.tooltip(mesh.meshPath)
end
im.TextColored(cols.redB, string.format("[%s]", aliasName))
im.tooltip("The alias name for this bridge instance.")
im.NextColumn()
im.TextColored(cols.dullWhite, " * " .. variation.fileName)
im.tooltip(variation.meshPath)
im.NextColumn()
im.TextColored(cols.dullWhite, "var" .. tostring(j))
im.tooltip("This is variation " .. tostring(j) .. " of the base component.")
else
im.TextColored(cols.redB, 'No assembly kit selected.')
im.Text('Select a folder containing assembly meshes to continue.')
if enabledCount >= 2 then
im.TextColored(cols.greenB, baseMesh.fileName:gsub("%.dae$", ""))
local isRoot = baseMesh.fileName and baseMesh.fileName:lower():find("root")
im.SameLine()
im.TextColored(cols.redB, "[root]") -- Add indicator for root mesh.
end
im.SameLine()
im.TextColored(cols.greenB, ":")
local headerText = baseMesh.fileName:gsub("%.dae$", "")
im.TextColored(cols.greenB, headerText)
if aliasName ~= "main" then
im.SameLine()
im.TextColored(cols.redB, string.format("[%s]", aliasName)) -- Include the alias name, if this is an aliased entry.
end
im.SameLine()
im.TextColored(cols.greenB, ':')
if selSpline.isConformToTerrain then
im.TextColored(cols.greenB, "Spline Is Conformed To Surface")
im.Text("Terraforming controls are disabled.")
else
im.TextColored(cols.greenB, "Terraforming:")
im.Columns(2, "terrainSlidersRow_assembly", false)
@/lua/ge/extensions/editor/trafficDebug.lua
im.SameLine()
im.TextColored(colors.grey, string.format('%0.2f', speedLimit * 3.6))
im.SameLine()
im.SameLine()
im.TextColored(colors.grey, "km/h / ")
im.SameLine()
im.SameLine()
im.TextColored(colors.grey, string.format('%0.2f', speedLimit * 2.237))
im.SameLine()
im.SameLine()
im.TextColored(colors.grey, "mph")
end
@/lua/ge/extensions/editor/dynamicDecals/widgets.lua
im.TextColored(editor.color.beamng.Value, "Presets")
local btnSize = math.ceil(im.GetFontSize())
else
im.TextColored(editor.color.error.Value, api.propertiesMap[property.id].name)
end
@/lua/ge/extensions/gameplay/drag/debug.lua
im.SameLine()
im.TextColored(ext and green or red, ext and ext.__extensionName__ or "No Extension")
im.SameLine()
im.TextColored(dragData.isStarted and green or red, dragData.isStarted and "Started" or "Stopped")
im.SameLine()
im.TextColored(phase.started and green or red, "Started")
im.SameLine()
im.SameLine()
im.TextColored(phase.completed and green or red, "Completed")
im.Text(dumps(phase))
@/lua/ge/extensions/editor/dynamicDecals/news.lua
im.TextColored(editor.color.beamng.Value, "Please keep in mind that this tool is work-in-progress. We're actively working to enhance and refine the experience based on your feedback.")
im.TextUnformatted("We can't wait to see the incredible liveries you create and share with the community!")
im.SetCursorPosX(im.GetCursorPosX() + im.GetContentRegionAvailWidth() / 2 - titleSize.x / 2)
im.TextColored(editor.color.beamng.Value, "Vehicle Livery Creator")
im.PopFont()
@/lua/ge/extensions/editor/crawlEditor/waypoints.lua
im.Separator()
im.TextColored(im.ImVec4(1, 0, 0, 1), "Invalid or missing pathnode")
return
@/lua/ge/extensions/editor/assetManagementTool.lua
if isFirstPath then
imgui.TextColored(imgui.ImVec4(1, 1, 0, 1), tostring(mapping.recordIndex))
imgui.SameLine()
imgui.TableNextColumn()
imgui.TextColored(imgui.ImVec4(1, 1, 0, 1), tostring(idx))
if record.fixed then
imgui.TextColored(imgui.ImVec4(0, 1, 0, 1), "FIXED")
else
else
imgui.TextColored(imgui.ImVec4(1, 0, 0, 1), "INVALID")
end
imgui.TableNextColumn()
imgui.TextColored(imgui.ImVec4(1, 1, 0, 1), tostring(idx))
imgui.TableNextColumn()
imgui.TextColored(imgui.ImVec4(1, 1, 0, 1), tostring(idx))
if not record.failed then
imgui.TextColored(imgui.ImVec4(0, 1, 0, 1), "SUCCESS")
else
else
imgui.TextColored(imgui.ImVec4(1, 0, 0, 1), "COPY FAILED")
end
imgui.TableNextColumn()
imgui.TextColored(imgui.ImVec4(1, 1, 0, 1), tostring(idx))
if not record.failed then
imgui.TextColored(imgui.ImVec4(0, 1, 0, 1), "SUCCESS")
else
else
imgui.TextColored(imgui.ImVec4(1, 0, 0, 1), "RELINK FAILED")
end
@/lua/ge/extensions/editor/meshSpline.lua
if #meshSplines > 0 then
im.TextColored(cols.greenB, "Mesh Splines:")
im.PushItemWidth(-1)
if spline.isLink then
im.TextColored(cols.dullWhite, spline.name)
im.tooltip('This mesh spline is linked to a Master Spline. To edit or remove it, first unlink it from within the Master Spline Editor.')
elseif not spline.isEnabled then
im.TextColored(cols.dullWhite, spline.name)
im.tooltip('This mesh spline is disabled. To edit or remove it, first enable it.')
-- Mesh Spline Properties (always visible).
im.TextColored(cols.greenB, "Properties:")
-- Preset buttons.
im.TextColored(cols.greenB, "Presets:")
im.Columns(7, "presetBtns", false)
-- Static mesh selection panel.
im.TextColored(cols.greenB, "Components:")
im.Columns(4, "staticMeshSelectionColumns", false)
im.Separator()
im.TextColored(cols.greenB, "Pre-Rotations:")
im.Columns(5)
if selSpline.isAlias1 or selSpline.isAlias2 or selSpline.isAlias3 then
im.TextColored(cols.greenB, "Distribution:")
else
im.TextColored(cols.greenB, "No variations selected") -- Show message when no variations are selected.
im.Text("Variations are enabled in the Components tab.")
if selSpline.isConformToTerrain then
im.TextColored(cols.greenB, "Spline Is Conformed To Surface")
im.Text("Terraforming controls are disabled.")
else
im.TextColored(cols.greenB, "Terraforming:")
im.Columns(2, "terrainSlidersRow_mesh", false)
@/lua/ge/extensions/editor/crawlEditor/trails.lua
im.Text("Mission Name: " .. (trail._fileName or "unnamed"))
im.TextColored(im.ImVec4(0.7, 0.7, 0.7, 1), "(Same as trail name)")
end
im.Separator()
im.TextColored(im.ImVec4(0.8, 0.6, 0.2, 1.0), "Mission Trail")
im.Text("This trail is from a mission.")
@/lua/ge/extensions/editor/gen/exp_meshexplorer.lua
if env.ui['geo_on'] == v.key then
im.TextColored(im.ImVec4(1,1,0,1),v.name or 'NONE') --daedata.dgeo[k].name)
else
if env.ui['geo_on'] == d then
im.TextColored(im.ImVec4(1,1,0,1),'- '..d) --daedata.dgeo[k].name)
else
if env.ui['geo_on'] == v.key then
im.TextColored(im.ImVec4(1,1,0,1),v.name or 'NONE') --daedata.dgeo[k].name)
else
if env.ui['piece_over'] == k then
im.TextColored(im.ImVec4(1,1,0,1), 'Piece '..k)
else
im.PushFont3("cairo_regular_medium")
im.TextColored(UI.colorNav, 'Hint: ')
-- im.Text(cgeo..' - '..toroman[i])
-- im.TextColored(im.ImVec4(daedata.dgeo[cgeo].mat.c[1],daedata.dgeo[cgeo].mat.c[2],daedata.dgeo[cgeo].mat.c[3],0.7), toroman[i])
-- show surfaces
@/lua/ge/extensions/editor/roadArchitect.lua
if #road.groupIdx > 0 then
im.TextColored(
cols.greenB,
im.Separator()
im.TextColored(cols.greenB, 'Bridge Controls:')
im.PushItemWidth(-150)
im.Separator()
im.TextColored(cols.greenB, 'Overlay Material:')
im.Columns(2, "overlayRowCBoxes2", false)
im.Columns(1)
im.TextColored(cols.greenB, "Layer Type:")
im.Columns(4)
-- 'Select Material' row.
im.TextColored(cols.greenB, "Layer Material:")
im.Columns(2, "layerSecondRowCBoxes2", false)
im.TextColored(cols.greenB, "Attach Properties:")
im.PushItemWidth(-1)
im.TextColored(cols.greenB, "Rotation around Z-axis (degrees):")
im.Columns(4)
if layer.type[0] == 0 or layer.type[0] == 1 then
im.TextColored(cols.greenB, 'General Properties:')
im.Checkbox("Reverse###" .. tostring(wCtr), layer.isReverse)
-- 'Open Material Selection Window' button.
im.TextColored(cols.greenB, 'Static Mesh:')
im.Columns(2, "laneMeshListBoxColumns", true)
im.Columns(1)
im.TextColored(cols.greenB, 'Pose Parameters:')
im.PushItemWidth(-1)
im.TextColored(cols.greenB, "Pre-rotation around Z-axis (degrees):")
im.Columns(4)
im.TextColored(cols.greenB, 'Static Mesh:')
im.Columns(2, "singleMeshListBoxColumns", true)
im.Columns(1)
im.TextColored(cols.greenB, 'Pose Parameters:')
im.PushItemWidth(-1)
im.TextColored(cols.greenB, "Pre-rotation around Z-axis (degrees):")
im.Columns(4)
-- 'Is Left Side' checkbox.
im.TextColored(cols.greenB, "Orientation Parameters:")
im.PushItemWidth(-150)
-- 'Curb Width' input box.
im.TextColored(cols.greenB, "Curb Shaping Parameters:")
im.PushStyleVar1(im.StyleVar_GrabMinSize, 20)
im.TextColored(cols.greenB, "Curb Texture Mapping Position:")
im.Columns(4)
im.PushItemWidth(-150)
im.TextColored(cols.greenB, "Road Class:")
im.Columns(3)
if profile.class == 'urban' or profile.class == 'highway' then
im.TextColored(cols.greenB, 'Road Condition:')
im.PushStyleVar1(im.StyleVar_GrabMinSize, 20)
im.TextColored(cols.greenB, 'Material Parameters:')
im.Columns(3, "dirtStyleTypeCols1", false)
im.Separator()
im.TextColored(cols.greenB, 'Urban/Rural Junctions:')
im.Columns(8, "urbanJctsRow1", false)
im.Separator()
im.TextColored(cols.greenB, 'Highway Junctions:')
im.Columns(8, "highwayJctsRow1", false)
im.TextColored(cols.greenB, 'Road Sizing Parameters:')
if im.InputInt("Lanes###" .. tostring(wCtr), selJct.numLanesX, 1) then
im.Separator()
im.TextColored(cols.greenB, 'Sidewalk Parameters:')
im.Columns(2, 'jctSidewalkCols_row2', false)
im.Separator()
im.TextColored(cols.greenB, 'Traffic Light Parameters:')
if im.Checkbox("Include Traffic Lights###" .. tostring(wCtr), selJct.isTLights) then
im.Separator()
im.TextColored(cols.greenB, 'Pedestrian Crossing Parameters:')
if im.Checkbox("Ped X###" .. tostring(wCtr), selJct.isPedX1) then
im.Separator()
im.TextColored(cols.greenB, 'Traffic Sign Parameters:')
if im.Checkbox("Include Traffic Signs###" .. tostring(wCtr), selJct.isSigns) then
im.PushItemWidth(-1)
im.TextColored(cols.greenB, 'Junction Condition Parameters:')
if im.SliderFloat("###7160", selJct.condition, 0.0, 1.0, "Road Condition = %.3f") then
if not selJct.isSidewalk[0]then
im.TextColored(cols.greenB, 'Edge Blending Material:')
im.Columns(3, "edgeBlendingJctCols1", false)
im.TextColored(cols.greenB, 'Road Sizing Parameters:')
if im.InputInt("Num Lanes - X Dir###" .. tostring(wCtr), selJct.numLanesX, 1) then
im.Separator()
im.TextColored(cols.greenB, 'Sidewalk Parameters:')
im.Columns(2, 'jctSidewalkCols_row2', false)
im.Separator()
im.TextColored(cols.greenB, 'Traffic Light Parameters:')
if im.Checkbox("Traffic Lights###" .. tostring(wCtr), selJct.isTLights) then
im.Separator()
im.TextColored(cols.greenB, 'Pedestrian Crossing Parameters:')
im.Columns(4, 'jctPedXCheckboxesCols1', false)
im.Separator()
im.TextColored(cols.greenB, 'Lane Arrow Parameters:')
im.Columns(2, 'arrowCols1', false)
im.Separator()
im.TextColored(cols.greenB, 'Traffic Sign Parameters:')
if im.Checkbox("Traffic Signs###" .. tostring(wCtr), selJct.isSigns) then
im.Separator()
im.TextColored(cols.greenB, 'Tread Overlay Parameters:')
if im.Checkbox("Include Tread Overlays###" .. tostring(wCtr), selJct.isCrossings) then
im.PushItemWidth(-1)
im.TextColored(cols.greenB, 'Junction Condition Parameters:')
if im.SliderFloat("###7160", selJct.condition, 0.0, 1.0, "Road Condition = %.3f") then
im.Separator()
im.TextColored(cols.greenB, 'Edge Blending Material:')
im.Columns(3, "edgeBlendingJctCols1", false)
im.TextColored(cols.greenB, 'Road Sizing Parameters:')
if im.InputInt("Num Lanes - X Dir###" .. tostring(wCtr), selJct.numLanesX, 1) then
im.Separator()
im.TextColored(cols.greenB, 'Sidewalk Parameters:')
im.Columns(2, 'jctSidewalkCols_row2', false)
im.Separator()
im.TextColored(cols.greenB, 'Traffic Light Parameters:')
if im.Checkbox("Include Traffic Lights###" .. tostring(wCtr), selJct.isTLights) then
im.Separator()
im.TextColored(cols.greenB, 'Pedestrian Crossing Parameters:')
im.Columns(3, 'jctPedXCheckboxesCols1', false)
im.Separator()
im.TextColored(cols.greenB, 'Lane Arrow Parameters:')
im.Columns(2, 'arrowCols1', false)
im.Separator()
im.TextColored(cols.greenB, 'Traffic Sign Parameters:')
if im.Checkbox("Include Traffic Signs###" .. tostring(wCtr), selJct.isSigns) then
im.Separator()
im.TextColored(cols.greenB, 'Tread Overlay Parameters:')
if im.Checkbox("Include Tread Overlays###" .. tostring(wCtr), selJct.isCrossings) then
im.Separator()
im.TextColored(cols.greenB, 'Junction Condition Parameters:')
im.PushItemWidth(-1)
im.Separator()
im.TextColored(cols.greenB, 'Edge Blending Material:')
im.Columns(3, "edgeBlendingJctCols1", false)
im.TextColored(cols.greenB, 'Exit Road Parameters:')
if im.InputFloat("Y-Exit Road Angle (deg)###" .. tostring(wCtr), selJct.theta, 1, 0.0) then
im.TextColored(cols.greenB, 'Road Sizing Parameters:')
if im.InputInt("Number Of Lanes###" .. tostring(wCtr), selJct.numLanesX, 1) then
im.TextColored(cols.greenB, 'Sidewalk Parameters:')
if im.Checkbox("Include Sidewalks###" .. tostring(wCtr), selJct.isSidewalk) then
im.Separator()
im.TextColored(cols.greenB, 'Traffic Light Parameters:')
if im.Checkbox("Include Traffic Lights###" .. tostring(wCtr), selJct.isTLights) then
im.Separator()
im.TextColored(cols.greenB, 'Pedestrian Crossing Parameters:')
im.Columns(3, 'jctPedXCheckboxesCols1', false)
im.Separator()
im.TextColored(cols.greenB, 'Lane Arrow Parameters:')
im.Columns(2, 'arrowCols1', false)
im.Separator()
im.TextColored(cols.greenB, 'Traffic Sign Parameters:')
if im.Checkbox("Include Traffic Signs###" .. tostring(wCtr), selJct.isSigns) then
im.Separator()
im.TextColored(cols.greenB, 'Tread Overlay Parameters:')
if im.Checkbox("Include Tread Overlays###" .. tostring(wCtr), selJct.isCrossings) then
im.Separator()
im.TextColored(cols.greenB, 'Junction Condition Parameters:')
im.PushItemWidth(-1)
im.Separator()
im.TextColored(cols.greenB, 'Edge Blending Material:')
im.Columns(3, "edgeBlendingJctCols1", false)
im.TextColored(cols.greenB, 'Center Circle Parameters:')
if im.InputFloat("Center Circle Radius (deg)###" .. tostring(wCtr), selJct.extraRadRB, 0.1, 0.0) then
im.Separator()
im.TextColored(cols.greenB, 'Road Sizing Parameters:')
if im.InputInt("Number Of Lanes###" .. tostring(wCtr), selJct.numLanesX, 1) then
im.Separator()
im.TextColored(cols.greenB, 'Sidewalk Parameters:')
im.Columns(2, 'jctSidewalkCols_row2', false)
im.Separator()
im.TextColored(cols.greenB, 'Traffic Light Parameters:')
if im.Checkbox("Include Traffic Lights###" .. tostring(wCtr), selJct.isTLights) then
im.Separator()
im.TextColored(cols.greenB, 'Traffic Sign Parameters:')
if im.Checkbox("Include Traffic Signs###" .. tostring(wCtr), selJct.isSigns) then
im.Separator()
im.TextColored(cols.greenB, 'Pedestrian Crossing Parameters:')
im.Columns(4, 'jctPedXCheckboxesCols1', false)
im.Separator()
im.TextColored(cols.greenB, 'Lane Arrow Parameters:')
im.Columns(2, 'arrowCols1', false)
im.Separator()
im.TextColored(cols.greenB, 'Tread Overlay Parameters:')
if im.Checkbox("Include Tread Overlays###" .. tostring(wCtr), selJct.isCrossings) then
im.PushItemWidth(-1)
im.TextColored(cols.greenB, 'Junction Condition Parameters:')
if im.SliderFloat("###7160", selJct.condition, 0.0, 1.0, "Road Condition = %.3f") then
im.Separator()
im.TextColored(cols.greenB, 'Edge Blending Material:')
im.Columns(3, "edgeBlendingJctCols1", false)
im.TextColored(cols.greenB, 'Road Sizing Parameters:')
if im.InputInt("Number Of Lanes###" .. tostring(wCtr), selJct.numLanesX, 1) then
im.Separator()
im.TextColored(cols.greenB, 'Sidewalk Parameters:')
if im.InputFloat("Sidewalk Width###" .. tostring(wCtr), selJct.sidewalkWidth, 0.1, 2.0) then
im.Separator()
im.TextColored(cols.greenB, 'Junction Condition Parameters:')
if im.SliderFloat("###7160", selJct.condition, 0.0, 1.0, "Road Condition = %.3f") then
im.Separator()
im.TextColored(cols.greenB, 'Edge Blending Material:')
im.Columns(3, "edgeBlendingJctCols1", false)
im.TextColored(cols.greenB, 'Road Sizing Parameters:')
if im.InputInt("Number Of Lanes###" .. tostring(wCtr), selJct.numLanesX, 1) then
im.Separator()
im.TextColored(cols.greenB, 'Sidewalk Parameters:')
if im.Checkbox("Include Sidewalks###" .. tostring(wCtr), selJct.isSidewalk) then
im.PushItemWidth(-1)
im.TextColored(cols.greenB, 'Junction Condition Parameters:')
if im.SliderFloat("###7160", selJct.condition, 0.0, 1.0, "Road Condition = %.3f") then
im.Separator()
im.TextColored(cols.greenB, 'Edge Blending Material:')
im.Columns(3, "edgeBlendingJctCols1", false)
im.TextColored(cols.greenB, 'Road Sizing Parameters:')
if im.InputInt("Number Of Lanes###" .. tostring(wCtr), selJct.numLanesX, 1) then
im.PushItemWidth(-1)
im.TextColored(cols.greenB, 'Junction Condition Parameters:')
if im.SliderFloat("###7160", selJct.condition, 0.0, 1.0, "Road Condition = %.3f") then
im.TextColored(cols.greenB, 'Road Sizing Parameters:')
if im.InputInt("Number Of Lanes###" .. tostring(wCtr), selJct.numLanesX, 1) then
im.Separator()
im.TextColored(cols.greenB, 'Crash Barrier Parameters:')
im.Columns(2, 'crashBarrierCols1', false)
im.Separator()
im.TextColored(cols.greenB, 'Traffic Sign Parameters:')
if im.Checkbox("Include Traffic Signs###" .. tostring(wCtr), selJct.isSigns) then
im.Separator()
im.TextColored(cols.greenB, 'Tread Overlay Parameters:')
if im.Checkbox("Include Tread Overlays###" .. tostring(wCtr), selJct.isCrossings) then
im.PushItemWidth(-1)
im.TextColored(cols.greenB, 'Junction Condition Parameters:')
if im.SliderFloat("###7160", selJct.condition, 0.0, 1.0, "Road Condition = %.3f") then
im.Separator()
im.TextColored(cols.greenB, 'Edge Blending Material:')
im.Columns(3, "edgeBlendingJctCols1", false)
im.TextColored(cols.greenB, 'Road Sizing Parameters:')
if im.InputInt("Number Of Lanes###" .. tostring(wCtr), selJct.numLanesX, 1) then
im.Separator()
im.TextColored(cols.greenB, 'Sidewalk Parameters:')
if im.Checkbox("Include Sidewalks###" .. tostring(wCtr), selJct.isSidewalk) then
im.Separator()
im.TextColored(cols.greenB, 'Crash Barrier Parameters:')
im.Columns(2, 'crashBarrierCols1', false)
im.Separator()
im.TextColored(cols.greenB, 'Traffic Sign Parameters:')
if im.Checkbox("Include Traffic Signs###" .. tostring(wCtr), selJct.isSigns) then
im.Separator()
im.TextColored(cols.greenB, 'Tread Overlay Parameters:')
if im.Checkbox("Include Tread Overlays###" .. tostring(wCtr), selJct.isCrossings) then
im.PushItemWidth(-1)
im.TextColored(cols.greenB, 'Junction Condition Parameters:')
if im.SliderFloat("###7160", selJct.condition, 0.0, 1.0, "Road Condition = %.3f") then
im.Separator()
im.TextColored(cols.greenB, 'Edge Blending Material:')
im.Columns(3, "edgeBlendingJctCols1", false)
im.TextColored(cols.greenB, 'Road Sizing Parameters:')
if im.InputInt("Number Of Lanes###" .. tostring(wCtr), selJct.numLanesX, 1) then
im.Separator()
im.TextColored(cols.greenB, 'Crash Barrier Parameters:')
im.Columns(2, 'crashBarrierCols1', false)
im.Separator()
im.TextColored(cols.greenB, 'Traffic Sign Parameters:')
if im.Checkbox("Include Traffic Signs###" .. tostring(wCtr), selJct.isSigns) then
im.PushItemWidth(-1)
im.TextColored(cols.greenB, 'Junction Condition Parameters:')
if im.SliderFloat("###7160", selJct.condition, 0.0, 1.0, "Road Condition = %.3f") then
im.Separator()
im.TextColored(cols.greenB, 'Edge Blending Material:')
im.Columns(3, "edgeBlendingJctCols1", false)
im.TextColored(cols.greenB, 'Road Sizing Parameters:')
if im.InputInt("Number Of Lanes###" .. tostring(wCtr), selJct.numLanesX, 1) then
im.PushItemWidth(-1)
im.TextColored(cols.greenB, 'Junction Condition Parameters:')
if im.SliderFloat("###7160", selJct.condition, 0.0, 1.0, "Road Condition = %.3f") then
im.Separator()
im.TextColored(cols.greenB, 'Edge Blending Material:')
im.Columns(3, "edgeBlendingJctCols1", false)
im.TextColored(cols.greenB, 'Road Sizing Parameters:')
if im.InputInt("Number Of Lanes###" .. tostring(wCtr), selJct.numLanesX, 1) then
im.Separator()
im.TextColored(cols.greenB, 'Tread Overlay Parameters:')
if im.Checkbox("Include Tread Overlays###" .. tostring(wCtr), selJct.isCrossings) then
im.PushItemWidth(-1)
im.TextColored(cols.greenB, 'Junction Condition Parameters:')
if im.SliderFloat("###7160", selJct.condition, 0.0, 1.0, "Road Condition = %.3f") then
im.Separator()
im.TextColored(cols.greenB, 'Edge Blending Material:')
im.Columns(3, "edgeBlendingJctCols1", false)
if selectedTab == 4 then
im.TextColored(cols.greenB, 'Disk Options:')
im.Checkbox('Load Terrains With Sessions', isLoadTerrain)
@/lua/ge/extensions/editor/materialEditor.lua
-- Section 1: TSStatic
im.TextColored(colHdr, "TSStatic objects")
im.Columns(2, "matUsageCols_ts")
im.Columns(2, "matUsageCols_ts")
im.TextColored(colHdr, "Object")
im.NextColumn()
im.NextColumn()
im.TextColored(colHdr, "Instances")
im.NextColumn()
materialUsageContextMenu(key, idx) -- expects the "MU_Popup_"..key..idx ID inside
im.TextColored(selected and im.ImVec4(1, 1, 1, 1) or colHdr, key)
if im.IsItemHovered() then
-- Section 2: ForestItemData
im.TextColored(colHdr, "ForestItemData (by shapeFile)")
im.Columns(2, "matUsageCols_forest")
im.Columns(2, "matUsageCols_forest")
im.TextColored(colHdr, "Shape")
im.NextColumn()
im.NextColumn()
im.TextColored(colHdr, "Defs")
im.NextColumn()
materialUsageContextMenu(key, fidx) -- expects the "MU_Popup_"..key..fidx ID inside
im.TextColored(selected and im.ImVec4(1, 1, 1, 1) or colHdr, key)
if im.IsItemHovered() then
if cubemapName == "" then
im.TextColored(editor.color.warning.Value, "Please choose a cubemap.\nReflection won't work without a cubemap.")
end
im.TextUnformatted("Edit current material's name.\nChanges won't take effect until reloading the map.")
im.TextColored(editor.color.warning.Value, "Warning: Material can't be renamed.\nMaterial needs to reside in a json file.")
im.EndTooltip()
if currentMaterial:getField("reflectivityMap", o.layer[0]) ~= "" and currentMaterial:getField("cubemap", 0) == "" then
im.TextColored(editor.color.warning.Value, "The cubemap for this material is not set.\nThe reflectivity map won't work without a cubemap assigned to this material.")
end
im.TextUnformatted("Delete current material.\nChanges won't take effect until reloading the map.")
im.TextColored(editor.color.warning.Value, "Warning: Material can't be deleted.\nMaterial needs to reside in a json file.")
im.EndTooltip()
im.SameLine()
im.TextColored(im.ImVec4(1, 1, 0, 1), "From: " .. pickMaterialsFromObjectName)
end
im.SetCursorPos(im.ImVec2(im.GetCursorPosX(), im.GetContentRegionAvail().y + im.GetCursorPosY() - im.GetTextLineHeight()))
im.TextColored(im.ImVec4(1, 1, 0, 1), createMaterialMessage)
end
@/lua/ge/extensions/editor/cosimulationSignalEditor.lua
end
im.TextColored(ctrCol, posStr)
im.SameLine()
-- Signal group name, name, and data type.
im.TextColored(blueB, signal.groupName)
im.SameLine()
im.NextColumn()
im.TextColored(greenB, signal.description)
im.SameLine()
end
im.TextColored(typeCol, type)
im.SameLine()
if toKb > 1.5 then toCol, toWarn = redB, ' [WARNING: > 1 MPC]' end
im.TextColored(fromCol, ' From: ' .. fromKb .. '/1.5kb' .. fromWarn)
im.SameLine()
im.SameLine()
im.TextColored(toCol, ' To: ' .. toKb .. '/1.5kb' .. toWarn)
@/lua/ge/extensions/editor/flowgraph/garbageDebug.lua
im.TextColored(colorPerMagnitude[entry.valueMagnitude] or colorPerMagnitude[10], valueText)
im.PopFont()
@/lua/ge/extensions/core/groundMarkerArrows.lua
else
im.TextColored(im.ImVec4(1,0,0,1), "Missing Proxy!")
end
@/lua/ge/extensions/editor/rallyEditor/static.lua
for _ = 1,3 do im.Spacing() end
im.TextColored(im.ImVec4(1.0, 1.0, 0.0, 1.0), "System Pacenotes are only available for rallyStage missions.")
im.Text("Current mission type: " .. (self.path:getMissionType() or "unknown"))
@/lua/ge/extensions/flowgraph/nodes/gameplay/rally/countdownSynced.lua
if self.data.test then
im.TextColored(im.ImVec4(1, 1, 0, 1), "TEST MODE")