findObject
Definition
-- @/=[C]:-1
function findObject(...)
Callers
@/lua/ge/extensions/editor/api/valueInspector.lua
local clickedImage = false
local mat = scenetree.findObject(objName)
if mat then
elseif fieldTypeName == "TypeCubemapName" or fieldTypeName == "TypeCubemapData" then
self:displaySimSetPopupList({Sim.getRootGroup(), Sim.findObject("LevelLoadingGroup")}, fieldName, fieldNameId, fieldValue, self.selectedIds, customData, 0, "CubemapData")
-------------------------------------------------------------------------------------------------------------------------
editor.editingObjectName = false
if scenetree.findObject(val) then
local msg = "'" .. val .. "' already exists in the scene, please choose another name"
@/lua/ge/extensions/flowgraph/nodes/gameplay/blacklistWalking.lua
for _, name in ipairs(scenetree.findClassObjects("BeamNGVehicle")) do
local obj = scenetree.findObject(name)
if obj then
@/lua/vehicle/extensions/tech/techCore.lua
local targetName = request['target']
obj:queueGameEngineLua('scenetree.findObjectById(' .. obj:getID() .. '):queueLuaCommand("ai.setTargetObjectID(" .. scenetree.findObject(\'' .. targetName .. '\'):getID() .. ")")')
request:sendACK('AiTargetSet')
@/lua/ge/client/postFx/glow.lua
local pfxGlowBlurVertShader = scenetree.findObject("PFX_GlowBlurVertShader")
if not pfxGlowBlurVertShader then
local pfxGlowBlurHorzShader = scenetree.findObject("PFX_GlowBlurHorzShader")
if not pfxGlowBlurHorzShader then
local pfxGlowCombineStateBlock = scenetree.findObject("PFX_GlowCombineStateBlock")
if not pfxGlowCombineStateBlock then
if not pfxGlowCombineStateBlock then
local pfxDefaultStateBlock = scenetree.findObject("PFX_DefaultStateBlock")
pfxGlowCombineStateBlock = createObject("GFXStateBlockData")
local gammaPostFX = scenetree.findObject("GlowPostFx")
if not gammaPostFX then
@/lua/ge/client/postFx/flash.lua
local pfxFlashShader = scenetree.findObject("PFX_FlashShader")
if not pfxFlashShader then
local flashFx = scenetree.findObject("FlashFx")
if not flashFx then
flashFxCallbacks.setShaderConsts = function()
local flashFx = scenetree.findObject("FlashFx")
if flashFx then
@/lua/ge/extensions/freeroam/dragRace.lua
stageLights = {
prestageLightL = {obj = scenetree.findObject("Prestagelight_l"), anim = "prestage"},
prestageLightR = {obj = scenetree.findObject("Prestagelight_r"), anim = "prestage"},
prestageLightL = {obj = scenetree.findObject("Prestagelight_l"), anim = "prestage"},
prestageLightR = {obj = scenetree.findObject("Prestagelight_r"), anim = "prestage"},
stageLightL = {obj = scenetree.findObject("Stagelight_l"), anim = "prestage"},
prestageLightR = {obj = scenetree.findObject("Prestagelight_r"), anim = "prestage"},
stageLightL = {obj = scenetree.findObject("Stagelight_l"), anim = "prestage"},
stageLightR = {obj = scenetree.findObject("Stagelight_r"), anim = "prestage"}
stageLightL = {obj = scenetree.findObject("Stagelight_l"), anim = "prestage"},
stageLightR = {obj = scenetree.findObject("Stagelight_r"), anim = "prestage"}
},
countDownLights = {
amberLight1R = {obj = scenetree.findObject("Amberlight1_R"), anim = "tree"},
amberLight2R = {obj = scenetree.findObject("Amberlight2_R"), anim = "tree"},
amberLight1R = {obj = scenetree.findObject("Amberlight1_R"), anim = "tree"},
amberLight2R = {obj = scenetree.findObject("Amberlight2_R"), anim = "tree"},
amberLight3R = {obj = scenetree.findObject("Amberlight3_R"), anim = "tree"},
amberLight2R = {obj = scenetree.findObject("Amberlight2_R"), anim = "tree"},
amberLight3R = {obj = scenetree.findObject("Amberlight3_R"), anim = "tree"},
amberLight1L = {obj = scenetree.findObject("Amberlight1_L"), anim = "tree"},
amberLight3R = {obj = scenetree.findObject("Amberlight3_R"), anim = "tree"},
amberLight1L = {obj = scenetree.findObject("Amberlight1_L"), anim = "tree"},
amberLight2L = {obj = scenetree.findObject("Amberlight2_L"), anim = "tree"},
amberLight1L = {obj = scenetree.findObject("Amberlight1_L"), anim = "tree"},
amberLight2L = {obj = scenetree.findObject("Amberlight2_L"), anim = "tree"},
amberLight3L = {obj = scenetree.findObject("Amberlight3_L"), anim = "tree"},
amberLight2L = {obj = scenetree.findObject("Amberlight2_L"), anim = "tree"},
amberLight3L = {obj = scenetree.findObject("Amberlight3_L"), anim = "tree"},
greenLightR = {obj = scenetree.findObject("Greenlight_R"), anim = "tree"},
amberLight3L = {obj = scenetree.findObject("Amberlight3_L"), anim = "tree"},
greenLightR = {obj = scenetree.findObject("Greenlight_R"), anim = "tree"},
greenLightL = {obj = scenetree.findObject("Greenlight_L"), anim = "tree"},
greenLightR = {obj = scenetree.findObject("Greenlight_R"), anim = "tree"},
greenLightL = {obj = scenetree.findObject("Greenlight_L"), anim = "tree"},
redLightR = {obj = scenetree.findObject("Redlight_R"), anim = "tree"},
greenLightL = {obj = scenetree.findObject("Greenlight_L"), anim = "tree"},
redLightR = {obj = scenetree.findObject("Redlight_R"), anim = "tree"},
redLightL = {obj = scenetree.findObject("Redlight_L"), anim = "tree"}
redLightR = {obj = scenetree.findObject("Redlight_R"), anim = "tree"},
redLightL = {obj = scenetree.findObject("Redlight_L"), anim = "tree"}
}
playerVehicle = scenetree.findObject("thePlayer")
end
for i=1, 5 do
local leftTimeDigit = scenetree.findObject("display_time_" .. i .. "_l")
table.insert(leftTimeDigits, leftTimeDigit)
local rightTimeDigit = scenetree.findObject("display_time_" .. i .. "_r")
table.insert(rightTimeDigits, rightTimeDigit)
local rightSpeedDigit = scenetree.findObject("display_speed_" .. i .. "_r")
table.insert(rightSpeedDigits, rightSpeedDigit)
local leftSpeedDigit = scenetree.findObject("display_speed_" .. i .. "_l")
table.insert(leftSpeedDigits, leftSpeedDigit)
triggers = {
dragTriggerL = scenetree.findObject("dragTrigger_L"),
dragTriggerR = scenetree.findObject("dragTrigger_R"),
dragTriggerL = scenetree.findObject("dragTrigger_L"),
dragTriggerR = scenetree.findObject("dragTrigger_R"),
startTriggerL = scenetree.findObject("startTrigger_L"),
dragTriggerR = scenetree.findObject("dragTrigger_R"),
startTriggerL = scenetree.findObject("startTrigger_L"),
startTriggerR = scenetree.findObject("startTrigger_R"),
startTriggerL = scenetree.findObject("startTrigger_L"),
startTriggerR = scenetree.findObject("startTrigger_R"),
endTriggerL = scenetree.findObject("endTrigger_L"),
startTriggerR = scenetree.findObject("startTrigger_R"),
endTriggerL = scenetree.findObject("endTrigger_L"),
endTriggerR = scenetree.findObject("endTrigger_R"),
endTriggerL = scenetree.findObject("endTrigger_L"),
endTriggerR = scenetree.findObject("endTrigger_R"),
laneTriggerL = scenetree.findObject("laneTrigger_L"),
endTriggerR = scenetree.findObject("endTrigger_R"),
laneTriggerL = scenetree.findObject("laneTrigger_L"),
laneTriggerR = scenetree.findObject("laneTrigger_R"),
laneTriggerL = scenetree.findObject("laneTrigger_L"),
laneTriggerR = scenetree.findObject("laneTrigger_R"),
opponentSpawnTrigger = scenetree.findObject("opponentSpawnTrigger")
laneTriggerR = scenetree.findObject("laneTrigger_R"),
opponentSpawnTrigger = scenetree.findObject("opponentSpawnTrigger")
}
if not scenetree.findObject(opponentVehicleName) then
local options = {}
@/lua/ge/serverConnection.lua
if worldReadyState == 0 then
local canvas = scenetree.findObject("Canvas")
if canvas then
if p then p:add("disconnectActual.physicsStopSimulation") end
local canvas = scenetree.findObject("Canvas")
if p then p:add("disconnectActual.findCanvas") end
@/lua/ge/extensions/util/autoAnnotation.lua
M.autoAnnotateScenetree = function()
local root = Sim.findObject('MissionGroup')
M.autoAnnotateGroups = function()
local forestItems = Sim.findObject('ForestItemDataSet')
visitNode(forestItems, forestItems)
@/lua/ge/extensions/flowgraph/nodes/mission/countdownLightsController.lua
countDownLights = {
amberLight1R = {obj = scenetree.findObject("Amberlight1_R"), anim = "tree"},
amberLight2R = {obj = scenetree.findObject("Amberlight2_R"), anim = "tree"},
amberLight1R = {obj = scenetree.findObject("Amberlight1_R"), anim = "tree"},
amberLight2R = {obj = scenetree.findObject("Amberlight2_R"), anim = "tree"},
amberLight3R = {obj = scenetree.findObject("Amberlight3_R"), anim = "tree"},
amberLight2R = {obj = scenetree.findObject("Amberlight2_R"), anim = "tree"},
amberLight3R = {obj = scenetree.findObject("Amberlight3_R"), anim = "tree"},
amberLight1L = {obj = scenetree.findObject("Amberlight1_L"), anim = "tree"},
amberLight3R = {obj = scenetree.findObject("Amberlight3_R"), anim = "tree"},
amberLight1L = {obj = scenetree.findObject("Amberlight1_L"), anim = "tree"},
amberLight2L = {obj = scenetree.findObject("Amberlight2_L"), anim = "tree"},
amberLight1L = {obj = scenetree.findObject("Amberlight1_L"), anim = "tree"},
amberLight2L = {obj = scenetree.findObject("Amberlight2_L"), anim = "tree"},
amberLight3L = {obj = scenetree.findObject("Amberlight3_L"), anim = "tree"},
amberLight2L = {obj = scenetree.findObject("Amberlight2_L"), anim = "tree"},
amberLight3L = {obj = scenetree.findObject("Amberlight3_L"), anim = "tree"},
greenLightR = {obj = scenetree.findObject("Greenlight_R"), anim = "tree"},
amberLight3L = {obj = scenetree.findObject("Amberlight3_L"), anim = "tree"},
greenLightR = {obj = scenetree.findObject("Greenlight_R"), anim = "tree"},
greenLightL = {obj = scenetree.findObject("Greenlight_L"), anim = "tree"},
greenLightR = {obj = scenetree.findObject("Greenlight_R"), anim = "tree"},
greenLightL = {obj = scenetree.findObject("Greenlight_L"), anim = "tree"},
redLightR = {obj = scenetree.findObject("Redlight_R"), anim = "tree"},
greenLightL = {obj = scenetree.findObject("Greenlight_L"), anim = "tree"},
redLightR = {obj = scenetree.findObject("Redlight_R"), anim = "tree"},
redLightL = {obj = scenetree.findObject("Redlight_L"), anim = "tree"}
redLightR = {obj = scenetree.findObject("Redlight_R"), anim = "tree"},
redLightL = {obj = scenetree.findObject("Redlight_L"), anim = "tree"}
}
@/lua/ge/extensions/freeroam/gasStations.lua
for _, pair in ipairs(f.pumps or {}) do
local obj = scenetree.findObject(pair[1])
if obj then
for _, pair in ipairs(f.pumps or {}) do
local obj = scenetree.findObject(pair[1])
if obj then
@/lua/ge/extensions/editor/particleEditor.lua
local function resetEditableEmitterNode()
if scenetree.findObject("editableEmitterNode") then
scenetree.findObject("editableEmitterNode"):delete()
if scenetree.findObject("editableEmitterNode") then
scenetree.findObject("editableEmitterNode"):delete()
end
stringList = stringList:sub(last+1)
local particleData = scenetree.findObject(particleDataName)
if particleData then
emitter:reload()
selectParticle(scenetree.findObject(string.match(emitter:getField("particles", ""), '(%S+)')))
end
if lastFrameEmitterID ~= currentEmitter:getID() then
currentParticle = scenetree.findObject(string.match(currentEmitter:getField("particles", ""), '(%S+)'))
lastFrameEmitterID = currentEmitter:getID()
deleteParticle(currentParticle)
selectParticle(scenetree.findObject(string.match(currentEmitter:getField("particles", ""), '(%S+)')))
confirmationWindowOpen = true
particleNames[i] = newParticleName
selectParticle(scenetree.findObject(newParticleName))
valueChanged = true
table.remove(particleNames, i)
selectParticle(scenetree.findObject(particleNames[1] or ""))
valueChanged = true
@/lua/ge/extensions/gameplay/race/path.lua
local pn = path.pathnodes:create(cp)
local wp = scenetree.findObject(cp)
if wp then
local pn = path.pathnodes:create(cp)
local wp = scenetree.findObject(cp)
if wp then
for _, spInfo in ipairs({{'standing','defaultStartPosition'}, {'standingReverse','reverseStartPosition'}, {'rolling','rollingStartPosition'}, {'rollingReverse','rollingReverseStartPosition'}}) do
local spawnObj = scenetree.findObject(trackInfo.spawnSpheres[spInfo[1]])
if spawnObj ~= nil then
@/lua/ge/extensions/freeroam/bigMapMarkers.lua
local clusterIconRenderer = scenetree.findObject("markerIconRenderer")
if not clusterIconRenderer then return end
@/lua/ge/extensions/editor/sceneTree.lua
local function changeNodeName(node, name)
local searchedObj = scenetree.findObject(name)
-- if its a different object, but has same name with out new name, then error
itemCount = 0
local rootGrp = Sim.findObject("MissionGroup")
editor.orderTable = {}
@/lua/ge/extensions/gameplay/drift/saveLoad.lua
for _, name in ipairs(line.markerObjects or {}) do
local obj = scenetree.findObject(name)
if obj then
@/ui/ui-vue/src/services/crossfire.js
// this will hook the events to UI only, preventing the camera from moving
bngApi.engineLua(`local o = scenetree.findObject("MenuScrollActionMap"); if o then o:${enable ? "push" : "pop"}() end`)
if (window.bngVue.uiNavTracker) {
@/lua/ge/extensions/editor/api/roadRiver.lua
for _, name in ipairs(scenetree.findClassObjects('DecalRoad')) do
local road = scenetree.findObject(name)
if not road then --this will happen if one name will begin with numbers
@/lua/ge/extensions/editor/roadSpline/import.lua
local name = road.name
local obj = name and scenetree.findObject(name)
if obj and Sim.upcast(obj) then
for _, name in pairs(scenetree.findClassObjects("DecalRoad")) do
local obj = scenetree.findObject(name)
if obj then
@/lua/ge/extensions/editor/inspector.lua
local groundCoverMaterialName = groundCover:getField("Material", "")
local groundCoverMaterial = scenetree.findObject(groundCoverMaterialName)
local texturePath = "/core/art/warnMat.dds"
@/lua/ge/extensions/c2/panelPlugins/tileManager.lua
for idx, objName in ipairs(allObjectNames or {}) do
local obj = scenetree.findObject(objName)
if obj then
for i, name in ipairs(entry.objectNames) do
local obj = scenetree.findObject(name)
if obj then
if items == nil then
local obj = scenetree.findObject(objName)
if obj and obj.getData then
local material = item.material
local obj = scenetree.findObject(name)
if obj then
@/lua/ge/extensions/editor/gen/terrain.lua
local groupEdit = scenetree.findObject('edit')
local tb = extensions.editor_terrainEditor.getTerrainBlock()
local terrBlock = TerrainBlock()
local to = scenetree.findObject(terrBlockName)
if to then
)
print('??^^^^^^^^^^^^^^^^^^^ if_DONE:'..tostring(done)..':'..tostring(scenetree.findObject('m_plaster_worn_01_bat')))
to = scenetree.findObject(terrBlockName)
print('?? if_NEW:'..tostring(to)..':'..tostring(groupEdit))
@/lua/ge/client/core.lua
local corePassthruShaderVP = scenetree.findObject("CorePassthruShaderVP")
if not corePassthruShaderVP then
local function createCommonMaterials()
local warningMaterial = scenetree.findObject("WarningMaterial")
if not warningMaterial then
local warnMatCubeMap = scenetree.findObject("WarnMatCubeMap")
if not warnMatCubeMap then
local blankWhite = scenetree.findObject("BlankWhite")
if not blankWhite then
local empty = scenetree.findObject("Empty")
if not empty then
local coronaMat = scenetree.findObject("Corona_Mat")
if not coronaMat then
local blackSkyCubemap = scenetree.findObject("BlackSkyCubemap")
if not blackSkyCubemap then
local blackSkyMat = scenetree.findObject("BlackSkyMat")
if not blackSkyMat then
local blueSkyCubemap = scenetree.findObject("BlueSkyCubemap")
if not blueSkyCubemap then
local blueSkyMat = scenetree.findObject("BlueSkyMat")
if not blueSkyMat then
local greySkyCubemap = scenetree.findObject("GreySkyCubemap")
if not greySkyCubemap then
local greySkyMat = scenetree.findObject("GreySkyMat")
if not greySkyMat then
local octahedronMat = scenetree.findObject("OctahedronMat")
if not octahedronMat then
local simpleConeMat = scenetree.findObject("SimpleConeMat")
if not simpleConeMat then
local cameraMat = scenetree.findObject("CameraMat")
if not cameraMat then
local noshapeNoShape = scenetree.findObject("noshape_NoShape")
if not noshapeNoShape then
local noshapetextLambert1 = scenetree.findObject("noshapetext_lambert1")
if not noshapetextLambert1 then
local noshapetextNoshapeMat = scenetree.findObject("noshapetext_noshape_mat")
if not noshapetextNoshapeMat then
local noshapetextNoshapeMat = scenetree.findObject("portal5_portal_top")
if not noshapetextNoshapeMat then
local portal5PortalLightray = scenetree.findObject("portal5_portal_lightray")
if not portal5PortalLightray then
local spawnArrow = scenetree.findObject("spawn_arrow")
if not spawnArrow then
local grid512BlackMat = scenetree.findObject("Grid512_Black_Mat")
if not grid512BlackMat then
local grid512BlueMat = scenetree.findObject("Grid512_Blue_Mat")
if not grid512BlueMat then
local grid512ForestGreenMat = scenetree.findObject("Grid512_ForestGreen_Mat")
if not grid512ForestGreenMat then
local grid512ForestGreenMat = scenetree.findObject("Grid512_ForestGreenLines_Mat")
if not grid512ForestGreenMat then
local grid512GreenMat = scenetree.findObject("Grid512_Green_Mat")
if not grid512GreenMat then
local grid512GreyMat = scenetree.findObject("Grid512_Grey_Mat")
if not grid512GreyMat then
local grid512GreyMat = scenetree.findObject("Grid512_GreyBase_Mat")
if not grid512GreyMat then
local grid512OrangeMat = scenetree.findObject("Grid512_Orange_Mat")
if not grid512OrangeMat then
local grid512OrangeLinesMat = scenetree.findObject("Grid512_OrangeLines_Mat")
if not grid512OrangeLinesMat then
local grid512RedMat = scenetree.findObject("Grid512_Red_Mat")
if not grid512RedMat then
-- log('I',logTag,'creating trackbuilder materials....')
local track_editor_grid = scenetree.findObject("track_editor_grid")
if not track_editor_grid then
local track_editor_A_center = scenetree.findObject("track_editor_A_center")
if not track_editor_A_center then
local track_editor_A_border = scenetree.findObject("track_editor_A_border")
if not track_editor_A_border then
local track_editor_B_center = scenetree.findObject("track_editor_B_center")
if not track_editor_B_center then
local track_editor_B_border = scenetree.findObject("track_editor_B_border")
if not track_editor_B_border then
local track_editor_C_center = scenetree.findObject("track_editor_C_center")
if not track_editor_C_center then
local track_editor_C_border = scenetree.findObject("track_editor_C_border")
if not track_editor_C_border then
local track_editor_D_center = scenetree.findObject("track_editor_D_center")
if not track_editor_D_center then
local track_editor_D_border = scenetree.findObject("track_editor_D_border")
if not track_editor_D_border then
local track_editor_E_center = scenetree.findObject("track_editor_E_center")
if not track_editor_E_center then
local track_editor_E_border = scenetree.findObject("track_editor_E_border")
if not track_editor_E_border then
local track_editor_F_center = scenetree.findObject("track_editor_F_center")
if not track_editor_F_center then
local track_editor_F_border = scenetree.findObject("track_editor_F_border")
if not track_editor_F_border then
local track_editor_G_center = scenetree.findObject("track_editor_G_center")
if not track_editor_G_center then
local track_editor_G_border = scenetree.findObject("track_editor_G_border")
if not track_editor_G_border then
local track_editor_H_center = scenetree.findObject("track_editor_H_center")
if not track_editor_H_center then
local track_editor_H_border = scenetree.findObject("track_editor_H_border")
if not track_editor_H_border then
local function createVehicleData()
if not scenetree.findObject("PropSelectionCustomMat") then
local shader = createObject("ShaderData")
@/lua/ge/extensions/gameplay/drag/display.lua
if prefabInstance then
local obj = prefabInstance:findObject(name)
if obj then return obj end
end
return scenetree.findObject(name)
end
for i=1, 5 do
local timeDigit = scenetree.findObject("display_time_" .. i .. "_r")
table.insert(time, timeDigit)
local speedDigit = scenetree.findObject("display_speed_" .. i .. "_r")
table.insert(speed, speedDigit)
for i=1, 5 do
local timeDigit = scenetree.findObject("display_time_" .. i .. "_l")
table.insert(time, timeDigit)
local speedDigit = scenetree.findObject("display_speed_" .. i .. "_l")
table.insert(speed, speedDigit)
@/lua/ge/extensions/editor/gen/world.lua
local groupEdit = scenetree.findObject('edit')
if groupEdit then
end
local groupBat = scenetree.findObject('bat')
for _,nm in pairs(wrCommon) do
local mo = scenetree.findObject(nm)
if mo then
lo('?? ifTB:'.._..':'..name) --tostring(scenetree.findClassObjects("TerrainBlock")))
terrainBlockProxies[name] = {selected = false, id = scenetree.findObject(name):getID()}
end
local nm = 'dae_tmp' --..tp..'_'..i
local otmp = scenetree.findObject(nm)
if otmp then otmp:unregisterObject() end
list = {}, w = nil, h = nil}
lo('?? if_FO:'..tostring(scenetree.findObject('ForestItemData')))
end
local nm = 'dae_'..tp..'_'..i
local otmp = scenetree.findObject(nm)
if otmp then otmp:unregisterObject() end
end
local oedit = scenetree.findObject('edit')
lo('?? onQuit:'..tostring(cedit.mesh)..':'..#scenetree.getAllObjects()..' edit:'..tostring(oedit))
end
scenetree.findObject('edit'):deleteAllObjects()
local obj = scenetree.findObjectById(desc.id)
local function up(d, inreload, inact, mode)
lo('>>++++++++++ W.up:'..tostring(inreload)..':'..tostring(mode)..':'..tostring(forestName)) --..tostring(#core_forest.getForestObject():getData():getItems())) --..forestName..':'..tostring(inreload)..':'..tostring(scenetree.findObject(forestName))..':'..tostring(restored)..':'..tostring(inact)..':'..tostring(forest)..' edit:'..tostring(scenetree.findObject('edit'))..':'..tostring(groupEdit)..':'..tostring(D))
if not inact or not forest then
local function up(d, inreload, inact, mode)
lo('>>++++++++++ W.up:'..tostring(inreload)..':'..tostring(mode)..':'..tostring(forestName)) --..tostring(#core_forest.getForestObject():getData():getItems())) --..forestName..':'..tostring(inreload)..':'..tostring(scenetree.findObject(forestName))..':'..tostring(restored)..':'..tostring(inact)..':'..tostring(forest)..' edit:'..tostring(scenetree.findObject('edit'))..':'..tostring(groupEdit)..':'..tostring(D))
if not inact or not forest then
-- the moment of loading forest items from level
lo('??+++++++ forest_up:'..tostring(forestName)..':'..tostring(scenetree.findObject(forestName))..':'..tostring(scenetree.findObject('theForest')),true)
forest = scenetree.findObject('theForest')
-- the moment of loading forest items from level
lo('??+++++++ forest_up:'..tostring(forestName)..':'..tostring(scenetree.findObject(forestName))..':'..tostring(scenetree.findObject('theForest')),true)
forest = scenetree.findObject('theForest')
lo('??+++++++ forest_up:'..tostring(forestName)..':'..tostring(scenetree.findObject(forestName))..':'..tostring(scenetree.findObject('theForest')),true)
forest = scenetree.findObject('theForest')
if forest then
end
local oedit = scenetree.findObject('edit')
if inact and D then
groupEdit:registerObject('edit')
groupEdit = scenetree.findObject('edit')
scenetree.MissionGroup:addObject(groupEdit)
end
groupBat = scenetree.findObject('bat')
if not groupBat then
end
groupBat = scenetree.findObject('bat')
groupBat.canSave = false
else
scenetree.findObject(o):delete()
end
end
if U._PRD == 0 and not W.ui.injunction and not ({conf=0})[U._MODE] and scenetree.findObject("thePlayer") then
scenetree.findObject("thePlayer").hidden = true
if U._PRD == 0 and not W.ui.injunction and not ({conf=0})[U._MODE] and scenetree.findObject("thePlayer") then
scenetree.findObject("thePlayer").hidden = true
scenetree.findObject("thePlayer"):delete()
scenetree.findObject("thePlayer").hidden = true
scenetree.findObject("thePlayer"):delete()
local obj = scenetree.findObject("spawn_default")
scenetree.findObject("thePlayer"):delete()
local obj = scenetree.findObject("spawn_default")
if obj then obj.hidden = true end
if U._PRD == 0 and W.ui.injunction then
scenetree.findObject("thePlayer"):setPosition(vec3(0, 0, core_terrain.getTerrainHeight(vec3(0,0))))
end
restore()
local fedit = scenetree.findObject('edit')
if true or U._PRD == 0 then
local function houseUp(desc, toedit, update, prn, fordae)
lo('>>**************** houseUp:'..tostring(desc)..':'..tostring(toedit)..' prn:'..tostring(prn)..':'..tostring(update)..':'..tostring(desc and desc.prn or nil)..' nfloors:'..tostring(desc and #desc.afloor or nil)..':'..tostring(cedit.forest)..':'..tableSize(adesc)) --..tostring(scenetree.findClassObjects('Roads33'))..':'..tostring(scenetree.findObject("Vegetation")))
local om
forsplit = true
if cedit.mesh and scenetree.findObject('edit') then
scenetree.findObject('edit'):deleteAllObjects()
if cedit.mesh and scenetree.findObject('edit') then
scenetree.findObject('edit'):deleteAllObjects()
end
-- local materials = Sim.getMaterialSet()
-- local tmat = scenetree.findObject(out.defmat)
-- tmat.doubleSided = true
-- tmat.doubleSided = true
-- local tmat = scenetree.findObject('m_bricks_01_bat')
-- lo('??______________________________________ pre_RENDER:'..#data..':'..#mdatabot.verts) --..tostring(data[2].material)..':'..tostring(tmat)..':'..tostring(tmat.doubleSided)) --..tostring(defmat.doubleSided)..':'..tostring(defmat.obj))
-- UPDATE and QUIT EDIT
scenetree.findObject('edit'):deleteAllObjects()
id = toedit
lo('?? hD.DEL_building:'..tostring(cedit.mesh)..':'..tostring(desc.id))
scenetree.findObject('edit'):deleteAllObjects()
scenetree.findObjectById(id):delete()
-- if nm == 'm_stucco_scraped_BAT' then
local currentMaterial = scenetree.findObject(nm)
lo('?? if_CHANNELS:'..tostring(currentMaterial.activeLayers)..':'..tostring(currentMaterial.normalMap)..':'..tostring(currentMaterial.normalMapUseUV))
lo('>> objEditStop:'..tostring(cedit.mesh))
scenetree.findObject('edit'):deleteAllObjects()
-- lo('?? for_edit:'..tostring(cedit.mesh))
local function forestEdit(key)
-- scenetree.findObject('edit'):deleteAllObjects()
-- U.dump(dforest, '?? forestEdit:'..tostring(key))
scenetree.findObject('edit'):deleteAllObjects()
if c.id then
scenetree.findObject(c.id):delete()
end
cedit.forest = nil
local id = scenetree.findObject(nm):getID() --rayCast.object:getID()
lo('?? for_o_:'..id..':'..tostring(scope)..':'..tostring(cedit.mesh)..':'..rayCast.object.name)
U.dump(insplit,'?? is_insplit:')
scenetree.findObject('edit'):deleteAllObjects()
uvOn()
if c.id then
scenetree.findObject(c.id):delete()
end
-- if nm == forestName and scope == 'top'
local id = scenetree.findObject(nm):getID()
lo('?? for_ID:'..tostring(id)..'/'..tostring(cedit.mesh))
_dbdrag = true
local om = scenetree.findObject(nm)
lo('??******* forMM:'..id..':'..nm..':'..tostring(om.obj)..':'..tostring(om.vdata)..':'..tostring(#aedit[id].mesh)) --..':'..tostring(om:getMesh())..':'..tostring(aedit[id]), true)
end
-- scenetree.findObject('edit'):deleteAllObjects()
-- TODO: update roof
if c.id then
scenetree.findObject(c.id):delete()
end
lo('?? DEL_building:'..cedit.mesh..':'..tostring(desc.id))
scenetree.findObject('edit'):deleteAllObjects()
scenetree.findObjectById(cedit.mesh):delete()
end
scenetree.findObject('edit'):deleteAllObjects()
scenetree.findObjectById(desc.id):delete()
for _,nm in pairs(list) do
if not scenetree.findObject(nm) then
local om = createObject('TSStatic')
@/lua/ge/extensions/core/audio.lua
for i, projectName in ipairs(levelProjectsCache) do
local project = scenetree.findObject(projectName)
if project then
@/lua/ge/client/renderManager.lua
-- it is initialized when 'AL_FormatToken' is initialzed.
local alFormatTokenState = scenetree.findObject("AL_FormatTokenState")
if not alFormatTokenState then
alFormatTokenState = createObject("GFXStateBlockData")
local pfx_defaultstateblock = scenetree.findObject("PFX_DefaultStateBlock")
if pfx_defaultstateblock then
alFormatTokenState:setField("samplersDefined", 0, "true")
local samplerClampPoint = scenetree.findObject("SamplerClampPoint")
alFormatTokenState.samplerStates = samplerClampPoint
-- the PostEffectManager. Do not call enable() on it.
local alFormatCopy = scenetree.findObject("AL_FormatCopy")
if not alFormatCopy then
alFormatCopy.shader = "PFX_PassthruShader"
alFormatCopy.stateBlock = scenetree.findObject("AL_FormatTokenState")
alFormatCopy.texture = "$inTex"
@/lua/ge/extensions/editor/roadArchitect.lua
local clickedImage = false
local mat = scenetree.findObject(objName)
if mat then
@/lua/ge/extensions/core/busRouteManager.lua
local triggerPos = {}
local triggerFolder = scenetree.findObject("busstops")
if triggerFolder and triggerFolder:getClassName() == "SimGroup" then
@/lua/ge/extensions/editor/api/object.lua
for _, objName in pairs(objs) do
local obj = scenetree.findObject(objName)
if obj and type(obj["onEditorEnable"]) == "function" and type(obj["onEditorDisable"]) == "function" then
--TODO: cant we get the object refs and not the names? faster
local obj = scenetree.findObject(objName)
--TODO: insert unique
--TODO: cant we get the object refs and not the names? faster
local obj = scenetree.findObject(objName)
if obj and obj.className == typeName then
@/lua/ge/client/postFx/MotionBlurFx.lua
local pfxMotionBlurShader = scenetree.findObject("PFX_MotionBlurShader")
if not pfxMotionBlurShader then
motionBlurFXCallbacks.setShaderConsts = function()
local motionBlurFX = scenetree.findObject("MotionBlurFX")
if motionBlurFX then
local motionBlurFX = scenetree.findObject("MotionBlurFX")
if not motionBlurFX then
@/lua/ge/extensions/editor/toolUtilities/materialSelectionMgr.lua
if objId ~= emptyStr and isInFilter and im.ImGuiTextFilter_PassFilter(simSetNameFilter, objId) then
local mat = scenetree.findObject(objId)
if mat then
@/lua/ge/extensions/editor/api/material.lua
-- Check if a material with the given name exists already
if scenetree.findObject(materialName) then
log('E', logTag, "A material with the given name '" .. materialName .. "' already exists!")
if type(material) == "string" then
material = scenetree.findObject(material)
end
if type(material) == "string" then
material = scenetree.findObject(material)
end
@/lua/ge/extensions/gameplay/markers/inspectVehicleMarker.lua
self:clearObjects()
iconRendererObj = scenetree.findObject(iconRendererName)
if not iconRendererObj then
if self.iconRendererId then
iconRendererObj = scenetree.findObject(self.iconRendererId)
if iconRendererObj and self.iconId then
if self.iconRendererId then
iconRendererObj = scenetree.findObject(self.iconRendererId)
if iconRendererObj and self.iconInfo then
@/lua/ge/extensions/ui/uiNavi.lua
for _, pid in pairs(spawnpoints) do
local o = scenetree.findObject(pid)
if o then
for _, pid in pairs(poios) do
local o = scenetree.findObject(pid)
if o then
for _, pid in pairs(stops) do
local o = scenetree.findObject(pid)
if o and o.type == 'busstop' then
--if oid ~= -1 then
-- local veh = scenetree.findObject(oid)
-- if veh then
--if nid ~= -1 then
-- local veh = scenetree.findObject(nid)
-- if veh then
@/lua/ge/extensions/core/vehicleTriggers.lua
local function queueCmd(vehId, cmd)
local vehObj = scenetree.findObject(vehId)
if vehObj then
@/lua/ge/extensions/career/modules/tether.lua
bufferLength = bufferLength or 1
local area = scenetree.findObject(door[1])
if area then
@/lua/ge/extensions/editor/api/dynamicDecals.lua
local matSkinPresetName = matName .. ".skin.dynamicTextures"
local dynDecalMaterial = scenetree.findObject(matSkinPresetName)
if dynDecalMaterial then
@/lua/ge/extensions/core/input/bindings.lua
actionMap = actionMap.."ActionMap"
local am = scenetree.findObject(actionMap)
am:bind(devname, b.action, b.control, isCentered, b.deadzoneResting, b.deadzoneEnd, b.linearity, b.angle, b.lockType, b.isInverted, b.isForceEnabled, b.isForceInverted, b.useLogitechSDK, b.logitechVibrotactileCoef, b.logitechVibrotactileFreqMax, b.ffb.updateType, jsonEncode(b.ffb), actsOnChange, onChange, actsOnDown, onDown, actsOnUp, onUp, b.filterType, isRelative, player, ctx)
wasWalking = isWalking
local o = scenetree.findObject("VehicleSpecificActionMap")
if o then o:setEnabled(not isWalking) end
@/lua/ge/extensions/editor/tech/roadArchitect/roads.lua
roadMeshMgr.tryRemoveBridge(road.name)
local folder = scenetree.findObject("Road Architect - Bridge " .. tostring(road.name))
if folder then
if r.isBridge then
local folder = scenetree.findObject("Road Architect - Bridge " .. tostring(r.name))
if not folder then
roadMeshMgr.tryRemoveBridge(road.name)
local folder = scenetree.findObject("Road Architect - Bridge " .. tostring(road.name))
if folder then
if not roads[i].isBridge then
local folder = scenetree.findObject("Road Architect - Road " .. tostring(i))
if folder then
@/lua/ge/extensions/core/paths.lua
end
local pathObj = scenetree.findObject(pathName)
if not pathObj then
@/lua/ge/extensions/scenario/demolitionDerby.lua
for vName, vData in pairs(scenario.vehicles) do
local vObj = scenetree.findObject(vName)
if vObj then
@/lua/ge/extensions/util/renderComponentsAPI.lua
if settingByKey[name].shaderObject then
local obj = scenetree.findObject(settingByKey[name].shaderObject)
if obj then
@/lua/ge/extensions/campaign/photoSafari.lua
if tableFindKey(M.photoSafarimissions, data.triggerName) then
if not (scenetree.findObject(M.photoSafariData[data.triggerName].objectName)) then
log('E', logTag, M.photoSafariData.objectName..' is not existing')
M.closeToPhoto = true
local sceneObject = scenetree.findObject(M.targetObj)
local pos = vec3(sceneObject:getPosition())
local vehicle = scenetree.findObjectById(be:getPlayerVehicleID(0))
local camTriggerObj = scenetree.findObject('camtrig')
local camTriggerPos = camTriggerObj:getPosition()
local vehicle = scenetree.findObjectById(be:getPlayerVehicleID(0))
local photoTrigger = scenetree.findObject(M.location)
local vehicleDistance_To_Obj = (vehicle:getPosition() - photoTrigger:getPosition()):len()
local vehicleDistance_To_Obj = (vehicle:getPosition() - photoTrigger:getPosition()):len()
local sceneObject = scenetree.findObject(M.targetObj)
local pos = vec3(sceneObject:getPosition())
@/lua/ge/extensions/editor/gen/network.lua
if U._PRD == 0 then
groupEdit = scenetree.findObject('e_road')
lo('??_______________________________________ nw_e_road:'..tostring(groupEdit))
end
groupEdit = scenetree.findObject('e_road')
lo('= NETWORK:'..tostring(groupEdit))
if groupEdit == nil then
lo('?? if_SG:'..tostring(scenetree.findObject('SimGroup')))
groupEdit = scenetree.findObject('SimGroup')
lo('?? if_SG:'..tostring(scenetree.findObject('SimGroup')))
groupEdit = scenetree.findObject('SimGroup')
if not groupEdit then groupEdit = createObject('SimGroup') end
groupEdit:registerObject('e_road')
groupEdit = scenetree.findObject('e_road')
lo('?? e_road:'..tostring(groupEdit))
--U.dump(tb:getObjectBox():getExtents(), '??********** for_TB:')
--local groupEdit = scenetree.findObject('edit')
@/lua/ge/client/postFx/fog.lua
local fogPassShader = scenetree.findObject("FogPassShader")
if not fogPassShader then
local pfxDefaultStateBlock = scenetree.findObject("PFX_DefaultStateBlock")
local fogPassStateBlock = scenetree.findObject("FogPassStateBlock")
if not fogPassStateBlock then
local fogPostFx = scenetree.findObject("FogPostFx")
if not fogPostFx then
underwaterFogPostFxCallbacks.onEnabled = function()
local causticsFX = scenetree.findObject("CausticsPFX")
if causticsFX then
underwaterFogPostFxCallbacks.onDisabled = function()
local causticsFX = scenetree.findObject("CausticsPFX")
if causticsFX then
local underwaterFogPassShader = scenetree.findObject("UnderwaterFogPassShader")
if not underwaterFogPassShader then
local underwaterFogPassStateBlock = scenetree.findObject("UnderwaterFogPassStateBlock")
if not underwaterFogPassStateBlock then
local underwaterFogPostFx = scenetree.findObject("UnderwaterFogPostFx")
if not underwaterFogPostFx then
@/lua/ge/extensions/editor/roadUtils.lua
local matName = jsonData.roads[1].fields.Material
local mat = scenetree.findObject(matName)
if mat then
@/lua/ge/extensions/flowgraph/nodes/mission/UpdateDisplayDragRace.lua
for i=1, 5 do
local leftTimeDigit = scenetree.findObject("display_time_" .. i .. "_l")
table.insert(self.leftTimeDigits, leftTimeDigit)
local rightTimeDigit = scenetree.findObject("display_time_" .. i .. "_r")
table.insert(self.rightTimeDigits, rightTimeDigit)
local rightSpeedDigit = scenetree.findObject("display_speed_" .. i .. "_r")
table.insert(self.rightSpeedDigits, rightSpeedDigit)
local leftSpeedDigit = scenetree.findObject("display_speed_" .. i .. "_l")
table.insert(self.leftSpeedDigits, leftSpeedDigit)
@/gameplay/missionTypes/scatterPickup/customNodes/scatterStuffInZonesNode.lua
local iconRendererObj = scenetree.findObject(iconRendererName)
if not iconRendererObj then
@/lua/ge/extensions/editor/terrainEditor.lua
for _, name in ipairs(scenetree.findClassObjects("TerrainBlock")) do
terrainBlockProxies[name] = {selected = false, id = scenetree.findObject(name):getID()}
end
@/lua/ge/client/init.lua
-- Startup the client with the Main menu...
local onlyGui = scenetree.findObject("OnlyGui")
local canvas = scenetree.findObject("Canvas")
local onlyGui = scenetree.findObject("OnlyGui")
local canvas = scenetree.findObject("Canvas")
local cursor = scenetree.findObject("DefaultCursor")
local canvas = scenetree.findObject("Canvas")
local cursor = scenetree.findObject("DefaultCursor")
if onlyGui and canvas and cursor then
-- Otherwise go to the splash screen.
local canvas = scenetree.findObject("Canvas")
-- log('I','main_entry','scenetree.findObject("Canvas") = '..dumps(canvas))
local canvas = scenetree.findObject("Canvas")
-- log('I','main_entry','scenetree.findObject("Canvas") = '..dumps(canvas))
if canvas then
if canvas then
local cursor = scenetree.findObject("DefaultCursor")
if cursor then
if cursor then
-- log('I','main_entry','scenetree.findObject("DefaultCursor") = '..dumps(cursor))
canvas:setCursor(cursor)
@/lua/ge/client/lighting/shadowMaps/init.lua
local blurDepthShader = scenetree.findObject("BlurDepthShader")
if not blurDepthShader then
@/lua/ge/extensions/editor/roadSpline.lua
-- Display the material texture as a thumbnail.
local mat = scenetree.findObject(layer.material or "")
if mat then
for _, objName in ipairs(editor.selection.object) do
local obj = scenetree.findObject(objName)
if obj:getClassName() == "DecalRoad" then
@/lua/ge/extensions/editor/terrainMaterialsEditor.lua
for k,v in ipairs(terrainMaterials) do
local terrainMaterial = scenetree.findObject(v)
if terrainMaterial then
for k,v in ipairs(upgradeFileFormatMaterials.terrainMaterials) do
local terrainMaterial = scenetree.findObject(v.id)
if terrainMaterial then
local textureSet = scenetree.findObject(name)
if not textureSet then
if im.CollapsingHeader1("Edit TerrainMaterialTextureSet Properties", im.TreeNodeFlags_DefaultOpen) then
local obj = scenetree.findObject(editor_terrainEditor.getTerrainBlock():getField('materialTextureSet', 0))
if obj then
@/lua/ge/extensions/util/trackBuilder/materialUtil.lua
--if materialObjects.center[l] == nil or materialObjects.border[l] == nil then
materialObjects.center[l] = scenetree.findObject("track_editor_" .. l .. '_center')
materialObjects.border[l] = scenetree.findObject("track_editor_" .. l .. '_border')
materialObjects.center[l] = scenetree.findObject("track_editor_" .. l .. '_center')
materialObjects.border[l] = scenetree.findObject("track_editor_" .. l .. '_border')
if not skipSet then
@/lua/ge/extensions/editor/gen/decal.lua
-- lo('= DECAL:'..tostring(veh)..':'..tostring(scenetree.findObject("Vegetation")))
if false then
local groupDecal = scenetree.findObject('e_road')
if true and groupDecal == nil then
end
groupDecal = scenetree.findObject('e_road')
end
local groupLines = scenetree.findObject('lines')
if true and groupLines == nil then
end
groupLines = scenetree.findObject('lines')
end
lo('>> D.foldersUp:')
groupDecal = scenetree.findObject('e_road')
if true and groupDecal == nil then
end
groupDecal = scenetree.findObject('e_road')
groupDecal.canSave = false
groupLines = scenetree.findObject('lines')
if true and groupLines == nil then
end
groupLines = scenetree.findObject('lines')
groupLines.canSave = false
lo('>>******************* D.inject:'..tostring(inreload)) --..tostring(iM))
groupDecal = scenetree.findObject('e_road')
foldersUp()
end
groupDecal = scenetree.findObject('e_road')
-- print('??^^^^^^ decal_E_ROAD_ADDED:')
groupLines = scenetree.findObject('lines')
if true and groupLines == nil then
end
groupLines = scenetree.findObject('lines')
groupLines.canSave = false
-- lo('??^^^^^^^^^^^^^^^^^^^^^^^^^ DL:'..U._MODE)
local obj = scenetree.findObject("Vegetation")
if U._PRD==0 and U._MODE ~= 'conf' and obj then
-- veh:setPositionNoPhysicsReset(rayCast.pos)
-- scenetree.findObject("thePlayer"):setPosition(vec3(x, y, core_terrain.getTerrainHeight(vec3(x,y))))
-- elseif editor.keyModifiers.ctrl then -- and out.injunction then --not indrag and U._MODE ~= 'conf' then
@/lua/ge/extensions/editor/gen/test.lua
-- clean bat
local groupBat = scenetree.findObject('bat')
if groupBat then
-- forest
-- scenetree.findObject(forestName):delete()
-- local forest = worldEditorCppApi.createObject("Forest")
-- local forest =
scenetree.findObject(forestName):delete()
local forest = worldEditorCppApi.createObject("Forest")
local forest = worldEditorCppApi.createObject("Forest")
-- forest = scenetree.findObject('theForest')
forest:registerObject(forestName)
local function test()
local groupBat = scenetree.findObject('bat')
lo('?? test.test:'..tostring(groupBat))
else
-- lo('?? for_module:'..tostring(scenetree.findObject(o)))
scenetree.findObject(o):delete()
-- lo('?? for_module:'..tostring(scenetree.findObject(o)))
scenetree.findObject(o):delete()
end
if inworld then
scenetree.findObject("thePlayer"):setPosition(vec3(x, y, core_terrain.getTerrainHeight(vec3(x,y))))
if true then return end
-- local levelMaterialNames = editor.getPreference("materialEditor.general.levelMaterialNames")
-- local matobj = scenetree.findObject('GroundGrid2')
-- lo('?? test_if_build:'..tableSize(adesc)..':'..tableSize(levelMaterialNames)..':'..tostring(matobj))
-- M.flipSide(am[1].faces, am[1].normals)
-- local id,om = M.meshUp(am, 'tst', scenetree.findObject('edit'))
-- om:setPosition(alod[1].pos)
-- M.flipSide(am[1].faces, am[1].normals)
local id,om = M.meshUp(am, 'tst', scenetree.findObject('edit'))
lo('?? for_OM:'..tostring(id))
U.out.aset[1] = {set={vec3(0,0,0.1)}}
local id,om = M.meshUp(am, 'tst', scenetree.findObject('edit'))
lo('?? for_OM:'..tostring(id))
if true then
local obj = scenetree.findObject('dae_win_1')
obj.hidden = false
for _, nm in pairs(list) do
if not scenetree.findObject(nm) then
local om = createObject('TSStatic')
local obj = scenetree.findObject('bat') --'lod_vertcol_test.dae')
--[[
mat:registerObject('R_mat_'..t)
lo('?? if_mat:'..tostring(scenetree.findObject('R_mat_'..t)))
end
end
-- lo('?? ifmat:'..tostring(scenetree.findObject('R_512_green')))
@/lua/ge/extensions/freeroam/bigMapMode.lua
if previousDOF then
local DOFPostEffect = scenetree.findObject("DOFPostEffect")
DOFPostEffect:enable()
core_camera.setLookBack(0, false) -- Disable lookback before going into bigmap
local canvas = scenetree.findObject("Canvas")
if canvas then
-- make the action map let through inputs, so the throttle cant get stuck on the vehicle
local am = scenetree.findObject("BigMapActionMap")
if am then am.trapHandledEvents = false end
local DOFPostEffect = scenetree.findObject("DOFPostEffect")
if DOFPostEffect then
@/lua/ge/extensions/util/decalRoadsEditor.lua
for _, AIPathName in ipairs(scenetree.findClassObjects('AIPath')) do
local o = scenetree.findObject(AIPathName)
if o and o.drivability > 0 then
@/lua/ge/main.lua
if not knownObjects[oName] then
local obj = scenetree.findObject(oName)
log('I', '', ' adding : ' .. tostring(oName))
if not knownObjects[oName] then
local obj = scenetree.findObject(oName)
log('I', '', ' adding : ' .. tostring(oName))
local mainEventManager = scenetree.findObject("MainEventManager")
p:add("MainEventManager.find")
if loadingLevel then
local canvas = scenetree.findObject("Canvas")
if canvas then
-- local forest = scenetree.findObject("theForest")
-- if not forest then
for i,v in ipairs(objects_to_delete) do
obj = scenetree.findObject(v)
if obj then
local found = scenetree.findObject('test_v2')
if found then
for i,v in ipairs(objects_to_delete) do
local obj = scenetree.findObject(v)
if obj then
function test_spawn_prefabv2()
local prefab = scenetree.findObject('test_v2')
if not prefab then
load_test_prefabv2()
prefab = scenetree.findObject('test_v2')
if not prefab then
function test_spawn_prefabv2_massive(count)
local prefab = scenetree.findObject('test_v2')
if not prefab then
load_test_prefabv2()
prefab = scenetree.findObject('test_v2')
if not prefab then
function test_unload_prefabv2()
local prefab = scenetree.findObject('test_v2')
if prefab then
@/gameplay/missions/gridmap_v2/collection/002-blenderbowl/script.lua
-- Get ball return position, and field center position and radius
local wall = scenetree.findObject("perimeterWall")
fieldCenterPos:set(wall:getWorldBoxCenter())
local reset = scenetree.findObject("ballReturn")
ballResetPos:set(reset:getPosition())
@/gameplay/missionTypes/scatterPickup/customNodes/scatterPrefabSetupNode.lua
local iconRendererObj = scenetree.findObject(iconRendererName)
if iconRendererObj and self.mgr.scatterPickup then
@/lua/ge/extensions/util/trackBuilder/splineTrack.lua
else
--dump(scenetree.findObject("thePlayer"))
--dump(scenetree.findObject("thePlayer"):getID())
--dump(scenetree.findObject("thePlayer"))
--dump(scenetree.findObject("thePlayer"):getID())
--dump(getObjectByID(scenetree.findObject("thePlayer"):getID()))
--dump(scenetree.findObject("thePlayer"):getID())
--dump(getObjectByID(scenetree.findObject("thePlayer"):getID()))
local id = scenetree.findObject("thePlayer"):getID()
--dump(getObjectByID(scenetree.findObject("thePlayer"):getID()))
local id = scenetree.findObject("thePlayer"):getID()
vehicleSetPositionRotation(id, pos.x, pos.y, pos.z, rot.x, rot.y, rot.z, rot.w)
@/lua/ge/extensions/ui/liveryEditor.lua
local function toggleVehicleControls(enable)
local commonActionMap = scenetree.findObject("VehicleCommonActionMap")
if commonActionMap then
local specificActionMap = scenetree.findObject("VehicleSpecificActionMap")
if specificActionMap then
@/lua/ge/client/postFx/lightRay.lua
local lightRayOccludeShader = scenetree.findObject("LightRayOccludeShader")
if not lightRayOccludeShader then
local lightRayShader = scenetree.findObject("LightRayShader")
if not lightRayShader then
local lightRayStateBlock = scenetree.findObject("LightRayStateBlock")
if not lightRayStateBlock then
if not lightRayStateBlock then
local pfxDefaultStateBlock = scenetree.findObject("PFX_DefaultStateBlock")
lightRayStateBlock = createObject("GFXStateBlockData")
lightRayPostFXCallbacks.preProcess = function()
local lightRayPostFX = scenetree.findObject("LightRayPostFX")
if not lightRayPostFX then
lightRayPostFXCallbacks.setShaderConsts = function()
local lightRayPostFX = scenetree.findObject("LightRayPostFX")
if not lightRayPostFX then
lightRayPostFX:setShaderConst("$brightScalar", TorqueScriptLua.getVar("$LightRayPostFX::brightScalar"))
local pfx = lightRayPostFX:findObjectByInternalName("final")-- scenetree.findObject("final")
pfx = Sim.upcast(pfx)
local lightRayPostFX = scenetree.findObject("LightRayPostFX")
if not lightRayPostFX then
@/lua/ge/extensions/core/camera.lua
if vehicleName ~= lastVehicleName then
local lastVehicle = lastVehicleName and scenetree.findObject(lastVehicleName) or nil
local lastVehicleId = lastVehicle and lastVehicle:getId() or nil
if trigger.triggerOverride then
local overrideObj = scenetree.findObject(trigger.triggerOverride)
if overrideObj then
if type(trigger.cameraOnEnter) == 'string' and trigger.cameraOnEnter ~= "" then
local cam = scenetree.findObject(trigger.cameraOnEnter)
if cam.showApps ~= '1' then
elseif trigger.event == 'enter' and type(trigger.cameraOnEnter) == 'string' and trigger.cameraOnEnter ~= "" then
local cam = scenetree.findObject(trigger.cameraOnEnter)
if cam then
@/lua/ge/extensions/gameplay/skidpadTest.lua
local vehicle = getObjectByID(vehId)
local spawnPoint = scenetree.findObject("skidpadSpawn")
spawn.safeTeleport(vehicle, spawnPoint:getPosition(), quat(0,0,1,0) * spawnPoint:getRotation(), nil, nil, nil, true, false)
@/lua/common/jbeam/materials.lua
--log('D', "material.init", "getSwitchableMaterial("..orgMat..")")
if not scenetree.findObject(orgMat) then
local mat = createObject("Material")
@/lua/ge/extensions/core/replay.lua
if statestr == 'playback' then -- we are in playback now
local o = scenetree.findObject("VehicleCommonActionMap")
if o then o:setEnabled(false) end
if o then o:setEnabled(false) end
o = scenetree.findObject("VehicleSpecificActionMap")
if o then o:setEnabled(false) end
if o then o:setEnabled(false) end
o = scenetree.findObject("ReplayPlaybackActionMap")
if o then o:push() end
else -- we are not in playback now (start of game, just exited playback, etc)
local o = scenetree.findObject("ReplayPlaybackActionMap")
if o then o:pop() end
if o then o:pop() end
o = scenetree.findObject("VehicleSpecificActionMap")
if o then o:setEnabled(true) end
if o then o:setEnabled(true) end
o = scenetree.findObject("VehicleCommonActionMap")
if o then o:setEnabled(true) end
@/lua/ge/extensions/scenario/scenariohelper.lua
local function getVehicleByName(name)
return scenetree.findObject(name)
end
local function getDistanceBetweenSceneObjects(sceneObjectName1, sceneObjectName2)
local sceneObject1 = scenetree.findObject(sceneObjectName1)
local sceneObject2 = scenetree.findObject(sceneObjectName2)
local sceneObject1 = scenetree.findObject(sceneObjectName1)
local sceneObject2 = scenetree.findObject(sceneObjectName2)
if sceneObject1 and sceneObject2 then
@/lua/ge/client/postFx/ssao.lua
currentQuality = tostring(clamp(round(tonumber(quality)), 0, 2))
local ssaoPostFx = scenetree.findObject("SSAOPostFx")
if ssaoPostFx then
ssaoPostFxCallbacks.setShaderConsts = function()
local ssaoPostFx = scenetree.findObject("SSAOPostFx")
if not ssaoPostFx then
local ssaoPostFx = scenetree.findObject("SSAOPostFx")
if not ssaoPostFx then
-- SSAO mask texture used during lighting.
local ssaoVizPostFx = scenetree.findObject("SSAOVizPostFx")
if not ssaoVizPostFx then
local ssaoPowTableShader = scenetree.findObject("SSAOPowTableShader")
if not ssaoPowTableShader then
local ssaoPowTablePostFx = scenetree.findObject("SSAOPowTablePostFx")
if not ssaoPowTablePostFx then
@/lua/ge/extensions/flowgraph/nodes/mission/clearLightsDragRace.lua
stageLights = {
prestageLightL = {obj = scenetree.findObject("Prestagelight_l"), anim = "prestage"},
prestageLightR = {obj = scenetree.findObject("Prestagelight_r"), anim = "prestage"},
prestageLightL = {obj = scenetree.findObject("Prestagelight_l"), anim = "prestage"},
prestageLightR = {obj = scenetree.findObject("Prestagelight_r"), anim = "prestage"},
stageLightL = {obj = scenetree.findObject("Stagelight_l"), anim = "prestage"},
prestageLightR = {obj = scenetree.findObject("Prestagelight_r"), anim = "prestage"},
stageLightL = {obj = scenetree.findObject("Stagelight_l"), anim = "prestage"},
stageLightR = {obj = scenetree.findObject("Stagelight_r"), anim = "prestage"}
stageLightL = {obj = scenetree.findObject("Stagelight_l"), anim = "prestage"},
stageLightR = {obj = scenetree.findObject("Stagelight_r"), anim = "prestage"}
},
countDownLights = {
amberLight1R = {obj = scenetree.findObject("Amberlight1_R"), anim = "tree"},
amberLight2R = {obj = scenetree.findObject("Amberlight2_R"), anim = "tree"},
amberLight1R = {obj = scenetree.findObject("Amberlight1_R"), anim = "tree"},
amberLight2R = {obj = scenetree.findObject("Amberlight2_R"), anim = "tree"},
amberLight3R = {obj = scenetree.findObject("Amberlight3_R"), anim = "tree"},
amberLight2R = {obj = scenetree.findObject("Amberlight2_R"), anim = "tree"},
amberLight3R = {obj = scenetree.findObject("Amberlight3_R"), anim = "tree"},
amberLight1L = {obj = scenetree.findObject("Amberlight1_L"), anim = "tree"},
amberLight3R = {obj = scenetree.findObject("Amberlight3_R"), anim = "tree"},
amberLight1L = {obj = scenetree.findObject("Amberlight1_L"), anim = "tree"},
amberLight2L = {obj = scenetree.findObject("Amberlight2_L"), anim = "tree"},
amberLight1L = {obj = scenetree.findObject("Amberlight1_L"), anim = "tree"},
amberLight2L = {obj = scenetree.findObject("Amberlight2_L"), anim = "tree"},
amberLight3L = {obj = scenetree.findObject("Amberlight3_L"), anim = "tree"},
amberLight2L = {obj = scenetree.findObject("Amberlight2_L"), anim = "tree"},
amberLight3L = {obj = scenetree.findObject("Amberlight3_L"), anim = "tree"},
greenLightR = {obj = scenetree.findObject("Greenlight_R"), anim = "tree"},
amberLight3L = {obj = scenetree.findObject("Amberlight3_L"), anim = "tree"},
greenLightR = {obj = scenetree.findObject("Greenlight_R"), anim = "tree"},
greenLightL = {obj = scenetree.findObject("Greenlight_L"), anim = "tree"},
greenLightR = {obj = scenetree.findObject("Greenlight_R"), anim = "tree"},
greenLightL = {obj = scenetree.findObject("Greenlight_L"), anim = "tree"},
redLightR = {obj = scenetree.findObject("Redlight_R"), anim = "tree"},
greenLightL = {obj = scenetree.findObject("Greenlight_L"), anim = "tree"},
redLightR = {obj = scenetree.findObject("Redlight_R"), anim = "tree"},
redLightL = {obj = scenetree.findObject("Redlight_L"), anim = "tree"}
redLightR = {obj = scenetree.findObject("Redlight_R"), anim = "tree"},
redLightL = {obj = scenetree.findObject("Redlight_L"), anim = "tree"}
}
for i=1, 5 do
local leftTimeDigit = scenetree.findObject("display_time_" .. i .. "_l")
leftTimeDigit:setHidden(true)
local rightTimeDigit = scenetree.findObject("display_time_" .. i .. "_r")
rightTimeDigit:setHidden(true)
local rightSpeedDigit = scenetree.findObject("display_speed_" .. i .. "_r")
rightSpeedDigit:setHidden(true)
local leftSpeedDigit = scenetree.findObject("display_speed_" .. i .. "_l")
leftSpeedDigit:setHidden(true)
@/lua/ge/ge_utils.lua
-- allows users to find Objects via name: scenetree.findObject('myname')
scenetree.findObject = function(objectName)
scenetree.findObject = function(objectName)
return Sim.findObject(objectName)
end
-- TODO: cache the object!
return getmetatable(class_table).findObject(memberName)
end
-- manually find the object, working around scenetree
local obj = scenetree.findObject('sunsky')
--dump(obj)
local group = scenetree.findObject(groupName)
if not group then
for k, name in ipairs(audioChannels) do
local channel = scenetree.findObject(name)
if channel then
if not o or #o == 0 then return nil end
o = scenetree.findObject(o[1])
if not o then return nil end
for _, v in pairs(o) do
table.insert(res, scenetree.findObject(v))
end
local found = scenetree.findObject(prefabTemplateName)
if found then
local prefabTemplateName = prefabFilenameToTemplateName(objFileName)
local prefab = scenetree.findObject(prefabTemplateName)
if not prefab then
loadPrefabv2Template(objFileName)
prefab = scenetree.findObject(prefabTemplateName)
if not prefab then
obj2 = Sim.findObject('hey')
obj2:findObjectById(3)
for vehicleName,v in pairs(data) do
local vehicle = scenetree.findObject(vehicleName)
if vehicle then
for _, objName in ipairs(objects) do
local object = scenetree.findObject(objName)
local id = object and object:getId() or 0
@/lua/ge/extensions/tech/capturePlayer.lua
if request.vid then
local veh = scenetree.findObject(request.vid)
captureState.sensors[request.name].vid = veh:getID()
if request.vid then
local veh = scenetree.findObject(request.vid)
captureState.sensors[request.name].vid = veh:getID()
if request.vid then
local veh = scenetree.findObject(request.vid)
captureState.sensors[request.name].vid = veh:getID()
ResponseSync.StartVehicleConnection = function(response)
local veh = scenetree.findObject(response.vid)
captureState.lastVid = veh:getID()
@/lua/ge/extensions/editor/bulkRename.lua
-- otherwise, search the whole tree
local obj = scenetree.findObject(entry.new)
if obj then
@/lua/ge/extensions/gameplay/markers/crawlMarker.lua
self:clearObjects()
iconRendererObj = scenetree.findObject(iconRendererName)
if not iconRendererObj then
if self.iconRendererId then
iconRendererObj = scenetree.findObject(self.iconRendererId)
if iconRendererObj then
if self.iconRendererId then
iconRendererObj = scenetree.findObject(self.iconRendererId)
if iconRendererObj then
@/lua/ge/screenshot.lua
local sunsky = scenetree.findObject("sunsky")
if sunsky then
local sunsky = scenetree.findObject("sunsky")
if sunsky then
@/lua/ge/extensions/core/dynamicProps.lua
function DynamicProps:findForestItems()
forest = scenetree.findObject("theForest")
self.forestQt = quadtree.newQuadtree()
@/lua/ge/extensions/editor/resourceChecker/resourceUtil.lua
for _, objName in ipairs(objs) do
local o = scenetree.findObject(objName)
if o and o.getFileName and o:getFileName() == fileName then
job.yield()
local m = scenetree.findObject(v)
if not m then log("E", "", "TSStatic object broken "..dumps(v))
job.yield()
local m = scenetree.findObject(v)
if not m then log("E", "", "ForestItem object broken "..dumps(v))
job.yield()
local m = scenetree.findObject(v)
if not m then log("E", "", "TerrainBlock object broken "..dumps(v))
job.yield()
local m = scenetree.findObject(v)
if not m then log("E", "", "ForestItem object broken "..dumps(v))
job.yield()
local m = scenetree.findObject(v)
if not m then log("E", "", "TSStatic object broken "..dumps(v))
job.yield()
local m = scenetree.findObject(v)
if not m then log("E", "", "TerrainBlock object broken "..dumps(v))
job.yield()
local m = scenetree.findObject(v)
if not m then log("E", "", "GroundPlane object broken "..dumps(v))
job.yield()
local m = scenetree.findObject(v)
if not m then log("E", "", "GroundCover object broken "..dumps(v))
job.yield()
local m = scenetree.findObject(v)
if not m then log("E", "", "DecalRoad object broken "..dumps(v))
job.yield()
local m = scenetree.findObject(v)
if not m then log("E", "", "MeshRoad object broken "..dumps(v))
job.yield()
local m = scenetree.findObject(v)
if not m then log("E", "", "DecalData object broken "..dumps(v))
job.yield()
local m = scenetree.findObject(k)
if m and m:getFileName() then
job.yield()
local m = scenetree.findObject(k)
if m and m:getFileName() then
job.yield()
local m = scenetree.findObject(v)
if not m then log("E", "", "Prefab object broken "..dumps(v))
job.yield()
local m = scenetree.findObject(v)
if not m then log("E", "", "ForestItem object broken "..dumps(v))
job.yield()
local m = scenetree.findObject(v)
if not m then log("E", "", "TSStatic object broken "..dumps(v))
job.yield()
local m = scenetree.findObject(v)
if not m then log("E", "", "TerrainBlock object broken "..dumps(v))
job.yield()
local m = scenetree.findObject(v)
if not m then log("E", "", "GroundPlane object broken "..dumps(v))
job.yield()
local m = scenetree.findObject(v)
if not m then log("E", "", "GroundCover object broken "..dumps(v))
job.yield()
local m = scenetree.findObject(v)
if not m then log("E", "", "DecalRoad object broken "..dumps(v))
job.yield()
local m = scenetree.findObject(v)
if not m then log("E", "", "MeshRoad object broken "..dumps(v))
job.yield()
local m = scenetree.findObject(v)
if not m then log("E", "", "DecalData object broken "..dumps(v))
job.yield()
local mat = scenetree.findObject(k)
local matSizeCheck = {}
job.yield()
local m = scenetree.findObject(v)
if not m then log("E", "", "Prefab object broken "..dumps(v))
job.yield()
local m = scenetree.findObject(v)
if not m then log("E", "", "TSStatic object broken "..dumps(v))
job.yield()
local m = scenetree.findObject(v)
if not m then log("E", "", "TSStatic object broken "..dumps(v))
job.yield()
local m = scenetree.findObject(v)
if not m then log("E", "", "ForestItem object broken "..dumps(v))
job.yield()
local m = scenetree.findObject(v)
if not m then log("E", "", "GroundCover object broken "..dumps(v))
job.yield()
local m = scenetree.findObject(v)
if not m then log("E", "", "Material broken "..dumps(v))
job.yield()
local m = scenetree.findObject(v)
if not m then log("E", "", "TerrainMaterial broken "..dumps(v))
job.yield()
local m = scenetree.findObject(v)
if not m then log("E", "", "WaterPlane broken "..dumps(v))
job.yield()
local m = scenetree.findObject(v)
if not m then log("E", "", "WaterBlock broken "..dumps(v))
job.yield()
local m = scenetree.findObject(v)
if not m then log("E", "", "River broken "..dumps(v))
job.yield()
local m = scenetree.findObject(v)
if not m then log("E", "", "CloudLayer broken "..dumps(v))
job.yield()
local m = scenetree.findObject(v)
if not m then log("E", "", "ScatterSky broken "..dumps(v))
job.yield()
local m = scenetree.findObject(v)
if not m then log("E", "", "Cubemap broken "..dumps(v))
job.yield()
local m = scenetree.findObject(v)
if m and m:getField('filename',0) and FS:fileSize(m:getField('filename',0)) > 0 then
job.yield()
local o = scenetree.findObject(name)
if o and o.getModelFile then
job.yield()
local o = scenetree.findObject(name)
if o then
job.yield()
local o = scenetree.findObject(name)
if o and o.getMaterialNames then
job.yield()
local o = scenetree.findObject(name)
if o and o.getMaterials then
job.yield()
local o = scenetree.findObject(name)
if o then
job.yield()
local mat = scenetree.findObject(matName)
if mat and mat.___type == "class" then
@/lua/ge/client/postFx/fxaa.lua
-- log('I', 'fxaaPostEffect', 'onEnabled called for fxaaPostEffect')
local smaa_postfx = scenetree.findObject("SMAA_PostEffect")
if smaa_postfx then
local pfxDefaultStateBlock = scenetree.findObject("PFX_DefaultStateBlock")
local fxaaShaderData = scenetree.findObject("FXAA_PostEffect")
local pfxDefaultStateBlock = scenetree.findObject("PFX_DefaultStateBlock")
local fxaaShaderData = scenetree.findObject("FXAA_PostEffect")
if not fxaaShaderData then
@/lua/ge/setSpawnpoint.lua
if v.objectname == dataLevel.defaultSpawnPointName then
local SP=scenetree.findObject(dataLevel.defaultSpawnPointName)
if SP then
@/lua/ge/extensions/gameplay/markers/missionMarker.lua
self:clearObjects()
iconRendererObj = scenetree.findObject(iconRendererName)
if not iconRendererObj then
if self.iconRendererId then
iconRendererObj = scenetree.findObject(self.iconRendererId)
if iconRendererObj then
if self.iconRendererId then
iconRendererObj = scenetree.findObject(self.iconRendererId)
if iconRendererObj then
@/lua/ge/client/postFx/maskedScreenBlur.lua
-----------------------------------------------
local screenBlurFX_YShader = scenetree.findObject("ScreenBlurFX_YShader")
if not screenBlurFX_YShader then
local screenBlurFX_XShader = scenetree.findObject("ScreenBlurFX_XShader")
if not screenBlurFX_XShader then
local screenBlurFX_stateBlock = scenetree.findObject("ScreenBlurFX_stateBlock")
if not screenBlurFX_stateBlock then
local simpleBlendShader = scenetree.findObject("SimpleBlendShader")
if not simpleBlendShader then
local simpleBlendShaderStateBlock = scenetree.findObject("SimpleBlendShaderStateBlock")
if not simpleBlendShaderStateBlock then
local screenBlurFX = scenetree.findObject("ScreenBlurFX")
if not screenBlurFX then
@/lua/ge/extensions/gameplay/markers/driftLineMarker.lua
for _, name in ipairs(self.cluster.markerObjects or {}) do
local obj = scenetree.findObject(name)
if obj then
for _, name in ipairs(self.cluster.markerObjects or {}) do
local obj = scenetree.findObject(name)
if obj then
@/lua/ge/extensions/editor/gen/exp_solidflex.lua
lo('>>________________________________________********************** exp_solidflex.up:'..lbl)
local obj = scenetree.findObject("spawn_default")
if obj then obj.hidden = true end
if obj then obj.hidden = true end
obj = scenetree.findObject("thePlayer")
if obj then obj:delete() end
amat[#amat+1] = M.matUp(1,{0.3,0.4,0.8})
scenetree.findObject('m_greybox_base_bat').doubleSided = true
-- lo('?? M1:'..tostring(nm))
groupEdit = scenetree.findObject('edit')
if not groupEdit then
-- U.dump(m,'?? for_M:')
local id,om = M.meshUp({m},'tst', scenetree.findObject('edit'))
lo('?? init:'..tostring(id)..':'..tostring(om)..':'..tostring(scenetree.findObject('edit')))
local id,om = M.meshUp({m},'tst', scenetree.findObject('edit'))
lo('?? init:'..tostring(id)..':'..tostring(om)..':'..tostring(scenetree.findObject('edit')))
body = om
-- U.dump(m,'?? for_M:')
local id,om = M.meshUp({m},'tst', scenetree.findObject('edit'))
lo('?? if_MESH:'..tostring(id))
@/lua/ge/client/lighting/advanced/lightViz.lua
if curVisualizeModeName ~= newVisualizeModeName then
local curVisualizeMode = curVisualizeModeName and scenetree.findObject(curVisualizeModeName)
if curVisualizeMode then
local al_DepthVisualizeState = scenetree.findObject("AL_DepthVisualizeState")
if not al_DepthVisualizeState then
local al_DefaultVisualizeState = scenetree.findObject("AL_DefaultVisualizeState")
if not al_DefaultVisualizeState then
local al_DepthVisualizeShader = scenetree.findObject("AL_DepthVisualizeShader")
if not al_DepthVisualizeShader then
local al_DepthVisualize = scenetree.findObject("AL_DepthVisualize")
if not al_DepthVisualize then
local al_NormalsVisualizeShader = scenetree.findObject("AL_NormalsVisualizeShader")
if not al_NormalsVisualizeShader then
local al_NormalsVisualize = scenetree.findObject("AL_NormalsVisualize")
if not al_NormalsVisualize then
local al_LightColorVisualizeShader = scenetree.findObject("AL_LightColorVisualizeShader")
if not al_LightColorVisualizeShader then
local al_LightColorVisualize = scenetree.findObject("AL_LightColorVisualize")
if not al_LightColorVisualize then
local al_LightSpecularVisualizeShader = scenetree.findObject("AL_LightSpecularVisualizeShader")
if not al_LightSpecularVisualizeShader then
local al_LightSpecularVisualize = scenetree.findObject("AL_LightSpecularVisualize")
if not al_LightSpecularVisualize then
local annotationVisualizeShader = scenetree.findObject("AnnotationVisualizeShader")
if not annotationVisualizeShader then
local annotationVisualize = scenetree.findObject("AnnotationVisualize")
if not annotationVisualize then
-- log('I','lightViz', 'toggleLightVisualizer called: name = '..tostring(objName)..' enable = '..tostring(enable)..' var = '..tostring(tsVariable))
local vizualiser = scenetree.findObject(objName)
if not vizualiser then
@/lua/ge/client/postFx/dof.lua
---------------------------------------------------------------------------
local pfxDefaultDOFStateBlock = scenetree.findObject("PFX_DefaultDOFStateBlock")
if not pfxDefaultDOFStateBlock then
local pfxDOFCalcCoCStateBlock = scenetree.findObject("PFX_DOFCalcCoCStateBlock")
if not pfxDOFCalcCoCStateBlock then
local pfxDOFDownSampleStateBlock = scenetree.findObject("PFX_DOFDownSampleStateBlock")
if not pfxDOFDownSampleStateBlock then
local pfxDOFBlurStateBlock = scenetree.findObject("PFX_DOFBlurStateBlock")
if not pfxDOFBlurStateBlock then
local pfxDOFFinalStateBlock = scenetree.findObject("PFX_DOFFinalStateBlock")
if not pfxDOFFinalStateBlock then
local pfxDOFDownSampleShader = scenetree.findObject("PFX_DOFDownSampleShader")
if not pfxDOFDownSampleShader then
local pfxDOFBlurYShader = scenetree.findObject("PFX_DOFBlurYShader")
if not pfxDOFBlurYShader then
local pfxDOFBlurXShader = scenetree.findObject("PFX_DOFBlurXShader")
if not pfxDOFBlurXShader then
local pfxDOFCalcCoCShader = scenetree.findObject("PFX_DOFCalcCoCShader")
if not pfxDOFCalcCoCShader then
local pfxDOFSmallBlurShader = scenetree.findObject("PFX_DOFSmallBlurShader")
if not pfxDOFSmallBlurShader then
local pfxDOFFinalShader = scenetree.findObject("PFX_DOFFinalShader")
if not pfxDOFFinalShader then
-- change this value.
local dofPostEffect = scenetree.findObject("DOFPostEffect")
if not dofPostEffect then
dOFPostEffectCallbacks.setShaderConsts = function()
local dofPostEffect = scenetree.findObject("DOFPostEffect")
if not dofPostEffect or not dofPostEffect.focalDist then
-- Exposed the variables to the shader
local dofFinalPFX = scenetree.findObject("DOFFinalPFX")
if dofFinalPFX then
local dofPostEffect = scenetree.findObject("DOFPostEffect")
if not dofPostEffect then
M.updateDOFSettings = function()
local dofPostEffect = scenetree.findObject("DOFPostEffect")
if not dofPostEffect then
@/lua/ge/client/objectsRequiredForStartup.lua
-- GuiSolidDefaultProfile
local guiSolidDefaultProfile = scenetree.findObject("GuiSolidDefaultProfile")
if not guiSolidDefaultProfile then
local guiTransparentProfile = scenetree.findObject("GuiTransparentProfile")
if not guiTransparentProfile then
local guiGroupBorderProfile = scenetree.findObject("GuiGroupBorderProfile")
if not guiGroupBorderProfile then
local guiTabBorderProfile = scenetree.findObject("GuiTabBorderProfile")
if not guiTabBorderProfile then
@/lua/ge/extensions/util/maptiles.lua
local sunsky = scenetree.findObject("sunsky")
if sunsky then
local sunsky = scenetree.findObject("sunsky")
if sunsky then
-- Get terrain info
local tb = scenetree.findObject(scenetree.findClassObjects('TerrainBlock')[1])
local terrainSize = tb:getWorldBlockSize()
@/lua/ge/extensions/statistics/statistics.lua
if instance.source then
vehicle = scenetree.findObject(instance.source)
else
local vehicle = scenetree.findObject(vehicleName)
if vehicle then
if instance.source then
local sourceVehicle = scenetree.findObject(instance.source)
if sourceVehicle then
if instance.source then
vehicle = scenetree.findObject(instance.source)
else
if instance.source then
vehicle = scenetree.findObject(instance.source)
else
if instance.source then
local vehicle = scenetree.findObject(instance.source)
if vehicle then
if instance.source then
vehicle = scenetree.findObject(instance.source)
else
if instance.source then
vehicle = scenetree.findObject(instance.source)
else
@/lua/ge/extensions/editor/api/dataBlock.lua
if copyFrom and copyFrom ~= "" then
local copiedDataBlock = scenetree.findObject(copyFrom)
if copiedDataBlock then
local dataBlockGroup = scenetree.findObject("dataBlockGroup")
@/lua/ge/extensions/core/levels.lua
--local spawnPoint = setSpawnpoint.loadDefaultSpawnpoint()
--spawnPoint = scenetree.findObject(spawnPoint)
if spawnPoint then
for _, name in ipairs(scenetree.findClassObjects('DecalRoad')) do
local road = scenetree.findObject(name)
if road then
local function getSpawnPointPosRot(poi, veh)
local spawnPoint = scenetree.findObject(poi.data.objectname)
if spawnPoint then
if not career_career.isActive() or career_modules_spawnPoints.isSpawnPointDiscovered(levelInfo.levelName, spawnPoint.objectname) then
local obj = scenetree.findObject(spawnPoint.objectname)
if obj then
@/lua/ge/extensions/editor/assetBrowser.lua
mat.type = 'material'
mat.cobj = scenetree.findObject(matName)
mat.selected = false
@/lua/ge/extensions/util/terrainGenerator.lua
if scenetree.findObject(name) then -- delete old TerrainMaterialTextureSet; not sure if this causes a crash
scenetree.findObject(name):delete()
if scenetree.findObject(name) then -- delete old TerrainMaterialTextureSet; not sure if this causes a crash
scenetree.findObject(name):delete()
end
local textureSet = scenetree.findObject(name)
if not textureSet then
@/lua/ge/extensions/tech/techCore.lua
if spawnPending ~= nil then
local obj = scenetree.findObject(spawnPending)
log('I', logTag, 'Vehicle spawned: ' .. tostring(vID))
local vID = request['vehicle']
local veh = scenetree.findObject(vID)
local resp = {type = 'Teleported', success = false}
M.handleTeleportScenarioObject = function(request)
local sobj = scenetree.findObject(request['id'])
if request['rot'] ~= nil then
command = 'extensions.load("tech/techCore")'
veh = scenetree.findObject(vid)
veh:queueLuaCommand(command)
local alreadyExists = scenetree.findObject(request['name'])
if alreadyExists and not replace then
local cur = getPlayerVehicle(0)
veh = scenetree.findObject(replaceVid)
if not veh then
local name = request['vid']
local veh = scenetree.findObject(name)
if veh ~= nil then
for idx, roadName in ipairs(roads) do
local road = scenetree.findObject(roadName)
local roadID = road:getID()
for idx, roadName in ipairs(roads) do
local road = scenetree.findObject(roadName)
local roadID = road:getID()
local response = {type = 'DecalRoadEdges'}
local road = scenetree.findObject(roadID)
local edges = {}
if request['vid'] ~= 0 then
vid = scenetree.findObject(request['vid']):getID();
end
if request['vid'] ~= 0 then
vid = scenetree.findObject(request['vid']):getID();
end
if request['vid'] ~= 0 then
vid = scenetree.findObject(request['vid']):getID();
end
if request['vid'] ~= 0 then
vid = scenetree.findObject(request['vid']):getID();
end
local name = request['name']
local vid = scenetree.findObject(request['vid']):getID()
local name = request['name']
local vid = scenetree.findObject(request['vid']):getID()
local name = request['name']
local vid = scenetree.findObject(request['vid']):getID()
local name = request['name']
local vid = scenetree.findObject(request['vid']):getID()
local name = request['name']
local vid = scenetree.findObject(request['vid']):getID()
local name = request['name']
local vid = scenetree.findObject(request['vid']):getID()
local name = request['name']
local vid = scenetree.findObject(request['vid']):getID()
M.handleIsTimeEvolutionComplete = function(request)
local vid = scenetree.findObject(request['vid']):getID()
local data = extensions.tech_sensors.isTimeEvolutionComplete(vid)
local vID = request['vid']
local vehicle = scenetree.findObject(vID)
be:enterVehicle(0, vehicle)
M.handleAnnotateParts = function(request)
local vehicle = scenetree.findObject(request['vid'])
tech_partAnnotations.annotateParts(vehicle:getID())
M.handleRevertAnnotations = function(request)
local vehicle = scenetree.findObject(request['vid'])
tech_partAnnotations.revertAnnotations(vehicle:getID())
M.handleGetPartAnnotations = function(request)
local vehicle = scenetree.findObject(request['vid'])
local colors = tech_partAnnotations.getPartAnnotations(vehicle:getID())
for idx, object in ipairs(objects) do
object = scenetree.findObject(object)
local name = request['name']
local obj = scenetree.findObject(name)
if obj == nil then
M.handleGetBBoxCorners = function(request)
local veh = scenetree.findObject(request['vid'])
local resp = {type = 'BBoxCorners'}
for idx, participant in ipairs(participants) do
local veh = scenetree.findObject(participant)
M.handleGetSceneTree = function(request)
local rootGrp = Sim.upcast(Sim.findObject('MissionGroup'))
local tree = getSceneTreeNode(rootGrp)
M.handleSyncScene = function(request)
local rootGrp = Sim.upcast(Sim.findObject('MissionGroup'))
local tree = getSceneTreeNodeFull(rootGrp)
local vid = request['vid']
local veh = scenetree.findObject(vid)
local cur = getPlayerVehicle(0)
local vid = request['vid']
local veh = scenetree.findObject(vid)
local cur = getPlayerVehicle(0):getID()
local vid = request['vid']
local veh = scenetree.findObject(vid)
local cur = getPlayerVehicle(0)
local veh = scenetree.findObject(vid)
local id = veh:getID()
local vid = request['vid']
local veh = scenetree.findObject(vid)
-- Serialize & deserialize to get rid of data MessagePack can't serialize
if string.find(objName, "procMesh") and not string.find(objName, ".json") then
scenetree.findObject(objName):setName(filename..'-'..objName)
end
end
local veh = scenetree.findObject(request['vid'])
if not veh then
local filepath, vid = request.filepath, request.vid
local veh = scenetree.findObject(vid)
if not veh then
if request['vid'] ~= 0 then
vid = scenetree.findObject(request['vid']):getID();
end
@/lua/ge/extensions/ui/apps/minimap/minimap.lua
-- setup imgui window position and size
local canvasObject = scenetree.findObject("Canvas")
local canvasPosX, canvasPosY = canvasObject:clientToScreenXY(point00)
@/lua/ge/client/postFx/chromaticLens.lua
local pfxDefaultChromaticLensStateBlock = scenetree.findObject("PFX_DefaultChromaticLensStateBlock")
if not pfxDefaultChromaticLensStateBlock then
local pfxChromaticLensShader = scenetree.findObject("PFX_ChromaticLensShader")
if not pfxChromaticLensShader then
log('I','postfx','Calling setShaderConsts from chromaticLensPostFX')
local chromaticLensPostFX = scenetree.findObject("ChromaticLensPostFX")
if chromaticLensPostFX then
local chromaticLensPostFX = scenetree.findObject("ChromaticLensPostFX")
if not chromaticLensPostFX then
@/lua/ge/extensions/gameplay/speedTraps.lua
-- TODO maybe build a cache with ids if findObject is too slow
local lightObj = scenetree.findObject(data.speedTrapLightName)
if isRedLightCamera then
@/lua/ge/extensions/editor/cosimulationSignalEditor.lua
core_camera.setByName(0, "orbit", false)
be:enterVehicle(0, scenetree.findObject(vehicle.vid))
core_camera.setByName(0, "orbit", false)
be:enterVehicle(0, scenetree.findObject(veh.vid))
if i ~= selectedVehicleIdx and not isExecuting then
@/lua/ge/extensions/core/environment.lua
if objNames and not tableIsEmpty(objNames) then
local obj = scenetree.findObject(objNames[1])
if obj then
@/lua/ge/extensions/editor/gen/mesh.lua
nm = 'R_mat_'..nm
local cmat = scenetree.findObject(nm)
-- lo('?? matUp:'..cs..':'..tostring(nm)..':'..tostring(cmat))
-- editor.setMaterialProperty(mat, 'translucentBlendOp', 0, 'Sub')
-- lo('?? if_mat:'..tostring(scenetree.findObject(nm))..':'..mat:getField("translucentBlendOp", 0))
-- for t,c in pairs({orange='1 0.5 0 1', green='0 1 0 1', blue='0 0 1 1',yellow='1 1 0 1'}) do
end
if not m.material or not scenetree.findObject(m.material) then
lo('!! valid5:')
local mnm = 'o_'..nm..'_'..cid
local otmp = scenetree.findObject(mnm)
if otmp then
@/lua/ge/extensions/editor/shapeEditor.lua
local function _getMaterialObj(matName)
local mat = scenetree.findObject(matName)
if not mat then
@/lua/ge/extensions/editor/meshSpline/import.lua
if entry.name then
local obj = scenetree.findObject(entry.name)
if obj and obj:getClassName() == "TSStatic" then
for _, meshName in pairs(scenetree.findClassObjects("TSStatic")) do
local obj = scenetree.findObject(meshName)
if obj then
@/lua/ge/extensions/editor/levelValidator.lua
for _, name in ipairs(scenetree.getAllObjects()) do
local object = scenetree.findObject(name)
if object then
if terrains[1] then
local terrain = scenetree.findObject(terrains[1])
terrainMinExtents = terrain:getWorldBox().minExtents
@/lua/ge/extensions/freeroam/facilities.lua
for _, pair in ipairs(facility.doors or {}) do
local obj = scenetree.findObject(pair[1])
if obj then
for _, pair in ipairs(facility.doors or {}) do
local obj = scenetree.findObject(pair[1])
if obj then
for _, pair in ipairs(f.doors or {}) do
local obj = scenetree.findObject(pair[1])
if obj then
for _, pair in ipairs(f.doors or {}) do
local obj = scenetree.findObject(pair[1])
if obj then
@/lua/ge/client/canvas.lua
local canvas = scenetree.findObject("Canvas")
if not canvas then
lockMouse(false)
local canvas = scenetree.findObject("Canvas")
if canvas then
lockMouse(true)
local canvas = scenetree.findObject("Canvas")
if canvas then
@/lua/ge/extensions/editor/gen/exp_meshexplorer.lua
if true then
local po = scenetree.findObject("thePlayer")
po.hidden = false
if M.valid(am) then
local id,om = M.meshUp(am,'tst', scenetree.findObject('edit'))
om:setPosition(vec3(3,0,5))
if M.valid(am) then
local id,om = M.meshUp(am,'tst', scenetree.findObject('edit'))
om:setPosition(vec3(3,0,5))
local obj = scenetree.findObject("thePlayer") --editor.getNodes(scenetree.findObject("thePlayer"))
if obj then
local obj = scenetree.findObject("thePlayer") --editor.getNodes(scenetree.findObject("thePlayer"))
if obj then
if M.valid(am) then
local id,om = M.meshUp(am,'tst', scenetree.findObject('edit'))
om:setPosition(vec3(0,0,5))
if false and M.valid(am) then
local id,om = M.meshUp(am,'tst', scenetree.findObject('edit'))
om:setPosition(vec3(0,0,2))
-- if true then return end
local obj = scenetree.findObject("spawn_default")
if obj then obj.hidden = true end
groupEdit = scenetree.findObject('edit')
if not groupEdit then
end
local po = scenetree.findObject("thePlayer")
if po then po.hidden = false end
for _, obj in ipairs(objects) do
-- if true or U._PRD == 0 then lo('?? for_mat:'..tostring(obj.name)..':'..tostring(scenetree.findObject(obj.name))) end --..tostring(obj.doubleSided))
obj.doubleSided = true
for _,nm in pairs(wrCommon) do
local mo = scenetree.findObject(nm)
-- lo('?? for_roof_COM:'..tostring(nm)..':'..tostring(mo))
groupEdit = scenetree.findObject('edit')
if not groupEdit then
end
-- local po = scenetree.findObject("thePlayer")
-- lo('?? if_PO:'..tostring(po.id)..':'..tostring(po:getId()))
cmat = val+1
local omat = scenetree.findObject(amat[cmat])
omat.doubleSided = true
-- end)
local id,om = M.meshUp(am,'tst', scenetree.findObject('edit'))
om:setPosition(vec3(s,0,h))
if M.valid(am) then
local id,om = M.meshUp(am,'tst', scenetree.findObject('edit'))
-- om:setPosition(vec3(-0,0,0.35))
if M.valid(am) then
local id,om = M.meshUp(am,'tst', scenetree.findObject('edit'))
om:setPosition(vec3(-0,0,0.5))
local po = scenetree.findObject("thePlayer")
lo('?? file_up:'..fsnode.path..':'..val..':'..tostring(po))
local p = fsnode.path..'/'..val
local om = scenetree.findObject(val)
if not om then
if not om then
scenetree.findObject('edit'):deleteAllObjects()
om = createObject('TSStatic')
om:registerObject(val) --'tmp_'..tostring(os.clock()))
scenetree.findObject('edit'):add(om.obj)
-- local box = om:getWorldBox()
local amn = om:getMaterialNames()
-- lo('?? mat1:'..tostring(scenetree.findObject(amn[1]).obj))
dump(amn, '?? mat_LIST:')
end
local id,om = M.meshUp(am,'tst', scenetree.findObject('edit'))
om:setPosition(vec3(0,0,5))
end
-- local po = scenetree.findObject("thePlayer")
-- lo('?? if_PO:'..tostring(po.id)..':'..tostring(po:getId()))
@/gameplay/missionTypes/busMode/constructor.lua
end
table.insert(ret, scenetree.findObject(task):getPosition())
end
@/lua/ge/extensions/editor/roadRiverCacheHandler.lua
for _, name in pairs(group:getObjects()) do
local object = scenetree.findObject(name)
if object and object:getClassName() == "DecalRoad" then
@/lua/ge/client/lighting/advanced/shaders.lua
-- Vector Light State
local al_VectorLightState = scenetree.findObject("AL_VectorLightState")
if not al_VectorLightState then
-- Vector Light Material
local al_VectorLightShader = scenetree.findObject("AL_VectorLightShader")
if not al_VectorLightShader then
local al_VectorLightMaterial = scenetree.findObject("AL_VectorLightMaterial")
if not al_VectorLightMaterial then
-- Convex-geometry light states
local al_ConvexLightState = scenetree.findObject("AL_ConvexLightState")
if not al_ConvexLightState then
-- Point Light Material
local al_PointLightShader = scenetree.findObject("AL_PointLightShader")
if not al_PointLightShader then
local al_PointLightMaterial = scenetree.findObject("AL_PointLightMaterial")
if not al_PointLightMaterial then
-- Spot Light Material
local al_SpotLightShader = scenetree.findObject("AL_SpotLightShader")
if not al_SpotLightShader then
local al_SpotLightMaterial = scenetree.findObject("AL_SpotLightMaterial")
if not al_SpotLightMaterial then
-- materials for objects that do not have materials.
local al_DefaultPrePassMaterial = scenetree.findObject("AL_DefaultPrePassMaterial")
if not al_DefaultPrePassMaterial then
-- materials for objects that do not have materials.
local al_DefaultShadowMaterial = scenetree.findObject("AL_DefaultShadowMaterial")
if not al_DefaultShadowMaterial then
-- Particle System Point Light Material
local al_ParticlePointLightShader = scenetree.findObject("AL_ParticlePointLightShader")
if not al_ParticlePointLightShader then
local al_ParticlePointLightMaterial = scenetree.findObject("AL_ParticlePointLightMaterial")
if not al_ParticlePointLightMaterial then
@/lua/ge/extensions/editor/main.lua
for _, mapName in ipairs(vehicleActionMaps) do
local map = scenetree.findObject(mapName)
if map then
if mapsEnabledStateBefore[mapName] ~= nil then
local map = scenetree.findObject(mapName)
if map then
-- let the key modifiers pass through, for mouse and other keys
local amap = scenetree.findObject("EditorKeyModsActionMap")
if amap then amap.trapHandledEvents = false end
-- TODO what to do here when we delete the free cam?
local freeCam = scenetree.findObject("freeCamera")
if freeCam then
@/lua/ge/extensions/editor/forestView.lua
-- -- --
-- local forest = scenetree.findObject("theForest")
-- if not forest then
local forest = scenetree.findObject("theForest")
if not forest then
local name = data:getName()
local obj = scenetree.findObject(name)
if obj then
@/lua/ge/extensions/career/modules/spawnPoints.lua
if not M.isSpawnPointDiscovered(currentLevel, spawnPoint.objectname) then
local obj = scenetree.findObject(spawnPoint.objectname)
if obj then
@/lua/ge/client/lighting/basic/init.lua
local bl_ProjectedShadowSBData = scenetree.findObject("BL_ProjectedShadowSBData")
if not bl_ProjectedShadowSBData then
local bl_ProjectedShadowShaderData = scenetree.findObject("BL_ProjectedShadowShaderData")
if not bl_ProjectedShadowShaderData then
local bl_ProjectedShadowMaterial = scenetree.findObject("BL_ProjectedShadowMaterial")
if not bl_ProjectedShadowMaterial then
-- log('I','BLM','Basic Lighting onActivate called...')
local al_formatToken = scenetree.findObject("AL_FormatToken")
if al_formatToken then
-- end up in the MissionCleanup instant group.
local rootGroup = scenetree.findObject("RootGroup")
rootGroup:add(renderPassManager)
-- log('I','BLM','Basic Lighting onDeactivate called...')
local al_formatToken = scenetree.findObject("AL_FormatToken")
if al_formatToken then
end
local renderPassManager = scenetree.findObject("BL_ProjectedShadowRPM")
renderPassManager:delete()
@/lua/ge/client/lighting/advanced/init.lua
-- with MSAA back buffers and for HDR rendering.
local al_formatToken = scenetree.findObject("AL_FormatToken")
if al_formatToken then
-- Disable the offscreen render target.
local al_formatToken = scenetree.findObject("AL_FormatToken")
if al_formatToken then
@/lua/ge/extensions/ui/liveryEditor/controls.lua
local toggleActionMap = function(actionMap, enable)
local o = scenetree.findObject(actionMap .. "ActionMap")
if o then
M.toggleEditActionMaps = function(enable)
local o = scenetree.findObject("liveryEditorActionMap")
if o then
M.enableVehicleControls = function(enable)
local commonActionMap = scenetree.findObject("VehicleCommonActionMap")
if commonActionMap then
local specificActionMap = scenetree.findObject("VehicleSpecificActionMap")
if specificActionMap then
@/gameplay/missionTypes/busMode/customNodes/setBusRouteNode.lua
for nameCount = stopIdx, #route do
targetObj = scenetree.findObject(route[nameCount])
if targetObj then
@/lua/ge/extensions/util/screenshotCreator.lua
for _, mapName in ipairs(vehicleActionMaps) do
local map = scenetree.findObject(mapName)
if map then
@/lua/common/utils/heatmap.lua
local terrain = scenetree.findObject(scenetree.findClassObjects('TerrainBlock')[1])
terrainPosition = terrain:getPosition()
@/lua/ge/extensions/career/modules/vehiclePerformance.lua
local vehicle = getObjectByID(vehId)
local spawnPoint = scenetree.findObject("skidpadSpawn")
spawn.safeTeleport(vehicle, spawnPoint:getPosition(), quat(0,0,1,0) * spawnPoint:getRotation(), nil, nil, nil, true, false)
@/lua/ge/extensions/tech/sensors.lua
local requestId = getUniqueRequestId()
local vehicleId = scenetree.findObject(vid):getID();
be:queueObjectLua(vehicleId, "extensions.tech_advancedIMU.adHocRequest(" .. sensorId .. ", " .. requestId .. ")")
local requestId = getUniqueRequestId()
local vehicleId = scenetree.findObject(vid):getID();
be:queueObjectLua(vehicleId, "extensions.tech_GPS.adHocRequest(" .. sensorId .. ", " .. requestId .. ")")
local requestId = getUniqueRequestId()
local vehicleId = scenetree.findObject(vid):getID();
be:queueObjectLua(vehicleId, "extensions.tech_powertrainSensor.adHocRequest(" .. sensorId .. ", " .. requestId .. ")")
local requestId = getUniqueRequestId()
local vehicleId = scenetree.findObject(vid):getID();
be:queueObjectLua(vehicleId, "extensions.tech_idealRADARSensor.adHocRequest(" .. sensorId .. ", " .. requestId .. ")")
local requestId = getUniqueRequestId()
local vehicleId = scenetree.findObject(vid):getID();
be:queueObjectLua(vehicleId, "extensions.tech_roadsSensor.adHocRequest(" .. sensorId .. ", " .. requestId .. ")")
local requestId = getUniqueRequestId()
local vehicleId = scenetree.findObject(vid):getID();
be:queueObjectLua(vehicleId, "extensions.tech_meshSensor.adHocRequest(" .. sensorId .. ", " .. requestId .. ")")
local function getBeamData(vid)
local vehicleId = scenetree.findObject(vid):getID();
local d = Research.SensorMatrixManager.getBeamData(vehicleId)
local function getFullTriangleData(vid)
local vehicleId = scenetree.findObject(vid):getID();
local d = Research.SensorMatrixManager.getFullTriangleData(vehicleId)
local function getWheelTriangleData(vid, wheelIndex)
local vehicleId = scenetree.findObject(vid):getID();
local d = Research.SensorMatrixManager.getWheelTriangleData(vehicleId, wheelIndex)
local function getNodePositions(vid, nodeId)
local vehicleId = scenetree.findObject(vid):getID();
return Research.SensorMatrixManager.getNodePositions(vehicleId)
local function getClosestMeshPointToGivenPoint(vid, point)
local vehicleId = scenetree.findObject(vid):getID();
return Research.SensorMatrixManager.getClosestMeshPointToGivenPoint(vehicleId, point)
local function getClosestTriangle(vid, point, includeWheelNodes)
local vehicleId = scenetree.findObject(vid):getID();
return Research.SensorMatrixManager.getClosestTriangle(vehicleId, point, includeWheelNodes)
local function removeAdvancedIMU(vid, sensorId)
local vehicleId = scenetree.findObject(vid):getID()
be:queueObjectLua(vehicleId, "extensions.tech_advancedIMU.remove(" .. sensorId .. ")")
local function setAdvancedIMUUpdateTime(sensorId, vid, updateTime)
local vehicleId = scenetree.findObject(vid):getID();
be:queueObjectLua(vehicleId, "extensions.tech_advancedIMU.setUpdateTime(" .. sensorId .. ", " .. updateTime .. ")")
local serialisedData = string.format("extensions.tech_advancedIMU.setIsUsingGravity(%q)", lpack.encode(data))
be:queueObjectLua(scenetree.findObject(vid):getID(), serialisedData)
end
local serialisedData = string.format("extensions.tech_advancedIMU.setIsVisualised(%q)", lpack.encode(data))
be:queueObjectLua(scenetree.findObject(vid):getID(), serialisedData)
end
local function removeGPS(vid, sensorId)
local vehicleId = scenetree.findObject(vid):getID()
be:queueObjectLua(vehicleId, "extensions.tech_GPS.remove(" .. sensorId .. ")")
local function setGPSUpdateTime(sensorId, vid, updateTime)
local vehicleId = scenetree.findObject(vid):getID();
be:queueObjectLua(vehicleId, "extensions.tech_GPS.setUpdateTime(" .. sensorId .. ", " .. updateTime .. ")")
local serialisedData = string.format("extensions.tech_GPS.setIsVisualised(%q)", lpack.encode(data))
be:queueObjectLua(scenetree.findObject(vid):getID(), serialisedData)
end
local function removePowertrainSensor(vid, sensorId)
local vehicleId = scenetree.findObject(vid):getID()
be:queueObjectLua(vehicleId, "extensions.tech_powertrainSensor.remove(" .. sensorId .. ")")
local function setPowertrainUpdateTime(sensorId, vid, updateTime)
local vehicleId = scenetree.findObject(vid):getID();
be:queueObjectLua(vehicleId, "extensions.tech_powertrainSensor.setUpdateTime(" .. sensorId .. ", " .. updateTime .. ")")
local function removeIdealRADARSensor(vid, sensorId)
local vehicleId = scenetree.findObject(vid):getID()
be:queueObjectLua(vehicleId, "extensions.tech_idealRADARSensor.remove(" .. sensorId .. ")")
local function setIdealRADARUpdateTime(sensorId, vid, updateTime)
local vehicleId = scenetree.findObject(vid):getID();
be:queueObjectLua(vehicleId, "extensions.tech_idealRADARSensor.setUpdateTime(" .. sensorId .. ", " .. updateTime .. ")")
local function removeRoadsSensor(vid, sensorId)
local vehicleId = scenetree.findObject(vid):getID()
be:queueObjectLua(vehicleId, "extensions.tech_roadsSensor.remove(" .. sensorId .. ")")
local function setRoadsSensorUpdateTime(sensorId, vid, updateTime)
local vehicleId = scenetree.findObject(vid):getID();
be:queueObjectLua(vehicleId, "extensions.tech_roadsSensor.setUpdateTime(" .. sensorId .. ", " .. updateTime .. ")")
local function removeMeshSensor(vid, sensorId)
local vehicleId = scenetree.findObject(vid):getID()
be:queueObjectLua(vehicleId, "extensions.tech_mesh.remove(" .. sensorId .. ")")
local function setMeshUpdateTime(sensorId, vid, updateTime)
local vehicleId = scenetree.findObject(vid):getID();
be:queueObjectLua(vehicleId, "extensions.tech_mesh.setUpdateTime(" .. sensorId .. ", " .. updateTime .. ")")
local function removeValidation(vid, sensorId)
local vehicleId = scenetree.findObject(vid):getID()
be:queueObjectLua(vehicleId, "extensions.tech_validation.remove(" .. sensorId .. ")")
local function removeTyreBarrierTest(vid, sensorId)
local vehicleId = scenetree.findObject(vid):getID()
be:queueObjectLua(vehicleId, "extensions.tech_tyreBarrier.remove(" .. sensorId .. ")")
@/gameplay/missionTypes/scatterPickup/customNodes/scatterAnimatorNode.lua
e.animationTimer = animationMax
scenetree.findObject(e.objectId).hidden = not e.active
end
end
scenetree.findObject(e.objectId):setScale(vec3(1,1,1) * sclCurve(e.animationTimer))
scenetree.findObject(e.objectId):setPosition(lerp(e.pos, e.vehicleTarget, posCurve(e.animationTimer)) + vec3(0,0,zAdd(e.animationTimer)*e.zScl))
scenetree.findObject(e.objectId):setScale(vec3(1,1,1) * sclCurve(e.animationTimer))
scenetree.findObject(e.objectId):setPosition(lerp(e.pos, e.vehicleTarget, posCurve(e.animationTimer)) + vec3(0,0,zAdd(e.animationTimer)*e.zScl))
end
@/lua/ge/server/commands.lua
core_camera.clearInputs()
local cam = scenetree.findObject("gameCamera")
if not cam then
local function getGameCamera() return scenetree.findObject("gameCamera") end
local function setGameCamera()
@/lua/ge/client/lighting/basic/shadowFilter.lua
local bl_ShadowFilterShaderV = scenetree.findObject("BL_ShadowFilterShaderV")
if not bl_ShadowFilterShaderV then
local bl_ShadowFilterShaderH = scenetree.findObject("BL_ShadowFilterShaderH")
if not bl_ShadowFilterShaderH then
local bl_ShadowFilterSB = scenetree.findObject("BL_ShadowFilterSB")
if not bl_ShadowFilterSB then
if not bl_ShadowFilterSB then
local pfx_defaultstateblock = scenetree.findObject("PFX_DefaultStateBlock")
bl_ShadowFilterSB = createObject("GFXStateBlockData")
-- Blur horizontal
local bl_ShadowFilterPostFx = scenetree.findObject("BL_ShadowFilterPostFx")
if not bl_ShadowFilterPostFx then
@/lua/ge/extensions/core/forest.lua
if next(forests) then
forest = scenetree.findObject(forests[1])
forestId = forest:getId()
@/lua/ge/extensions/editor/scriptAIEditor.lua
for vid, p in pairs(polyLinesToExecute) do -- Execute all the vehicle trajectories using the scriptAI backend.
scenetree.findObject(vid):queueLuaCommand('ai.startFollowing(' .. serialize(p) .. ')')
end
if vid ~= nil then
scenetree.findObject(vid):queueLuaCommand('ai.stopFollowing()')
end
if tr.vid ~= nil then
local obj = scenetree.findObject(tr.vid)
if obj ~= nil then
core_camera.setByName(0, "orbit", false)
be:enterVehicle(0, scenetree.findObject(vehicle.vid))
end
core_camera.setByName(0, "orbit", false)
be:enterVehicle(0, scenetree.findObject(veh.vid))
if twd.isOverlay[0] == true then
if vwd.recordMode[i][0] == 2 then
scenetree.findObject(veh.vid):queueLuaCommand('ai.startRecording(true)') -- Record a speed-based script.
else
else
scenetree.findObject(veh.vid):queueLuaCommand('ai.startRecording()') -- Record a time-based script.
end
if editor.uiIconImageButton(editor.icons.stop, im.ImVec2(21, 21), nil, nil, nil, 'stopRecordingScript') then
scenetree.findObject(veh.vid):queueLuaCommand('obj:queueGameEngineLua("extensions.hook(\\"onVehicleSubmitRecording\\","..tostring(objectId)..","..serialize(ai.stopRecording())..")")')
stopExecute()
core_camera.setByName(0, "orbit", false)
be:enterVehicle(0, scenetree.findObject(tr.vid))
end
@/lua/ge/extensions/editor/toolUtilities/util.lua
local i = 1
while scenetree.findObject(fullName) do
name = baseName .. " - " .. i
@/lua/ge/extensions/util/export.lua
local mat = scenetree.findObject(matNames[v.extras.bngMaterialId+1])
local matVer
@/lua/ge/extensions/editor/api/camera.lua
if not scenetree.MissionGroup then return end
local bookmarksGroup = scenetree.findObject("MissionGroup/CameraBookmarks")
if not bookmarksGroup then
@/lua/ge/extensions/freeroam/freeroam.lua
local am = scenetree.findObject("ExplorationCheckpointsActionMap")
if am then am:push() end
M.state.freeroamActive = false
local am = scenetree.findObject("ExplorationCheckpointsActionMap")
if am then am:pop() end
@/lua/ge/extensions/flowgraph/nodes/scene/idByName.lua
--if self.objID == nil then
local ob = scenetree.findObject(self.data.name or "")
if ob then
@/lua/ge/extensions/editor/decalSpline.lua
im.NextColumn()
local mat = scenetree.findObject(selSpline.component1Material or "")
if mat then
im.NextColumn()
mat = scenetree.findObject(selSpline.component2Material or "")
if mat then
im.NextColumn()
mat = scenetree.findObject(selSpline.component3Material or "")
if mat then
im.NextColumn()
mat = scenetree.findObject(selSpline.component4Material or "")
if mat then
@/lua/ge/extensions/core/checkpoints.lua
-- log('I', logTag,'saveAIPath called for '..vehicleName)
local vehicle = scenetree.findObject(vehicleName)
if vehicle then
@/lua/ge/client/postFx/GammaPostFX.lua
-- log('I', 'gammaPostFX', 'preProcess called for gammaPostFX')
local gammaPostFX = scenetree.findObject("GammaPostFX")
if gammaPostFX then
gammaPostFXCallbacks.setShaderConsts = function()
local gammaPostFX = scenetree.findObject("GammaPostFX")
if gammaPostFX then
local gammaShader = scenetree.findObject("GammaShader")
if not gammaShader then
local gammaStateBlock = scenetree.findObject("GammaStateBlock")
if not gammaStateBlock then
if not gammaStateBlock then
local pfxDefaultStateBlock = scenetree.findObject("PFX_DefaultStateBlock")
gammaStateBlock = createObject("GFXStateBlockData")
local gammaPostFX = scenetree.findObject("GammaPostFX")
if not gammaPostFX then
@/lua/ge/server/server.lua
-- clear LevelInfo so there is no conflict with the actual LevelInfo loaded in the level
local levelInfo = scenetree.findObject("theLevelInfo")
if levelInfo then
@/lua/ge/extensions/tech/impactgen/crashOutput.lua
spawnPending = ego
ego = scenetree.findObject(ego)
other = scenetree.findObject(other)
ego = scenetree.findObject(ego)
other = scenetree.findObject(other)
spawnPending = ego
ego = scenetree.findObject(ego)
other = scenetree.findObject(other)
ego = scenetree.findObject(ego)
other = scenetree.findObject(other)
be:enterVehicle(0, ego)
spawnPending = ego
ego = scenetree.findObject(ego)
be:enterVehicle(0, ego)
log('crashOutput', 'I', 'Setting vehicle config.')
local veh = scenetree.findObject(ego)
spawnPending = ego
local instance = instances[1]
instance = scenetree.findObject(instance)
instance:setField(field, 0, value)
color = Point4F(color[1], color[2], color[3], color[4])
local veh = scenetree.findObject(ego)
veh:setColor(color)
if spawnPending ~= nil then
local obj = scenetree.findObject(spawnPending)
if obj ~= nil and obj:getId() == vID then
@/lua/ge/extensions/gameplay/markers/gasStationMarker.lua
for idx, pair in ipairs(cluster.pumps or {}) do
local area = scenetree.findObject(pair[1])
local icon = scenetree.findObject(pair[2])
local area = scenetree.findObject(pair[1])
local icon = scenetree.findObject(pair[2])
if area and icon then
self:clearObjects()
iconRendererObj = scenetree.findObject(iconRendererName)
if not iconRendererObj then
if self.iconRendererId then
iconRendererObj = scenetree.findObject(self.iconRendererId)
if iconRendererObj then
if self.iconRendererId then
iconRendererObj = scenetree.findObject(self.iconRendererId)
if iconRendererObj then
@/lua/ge/extensions/core/terrain.lua
if next(terrains) then
terrain = scenetree.findObject(terrains[1])
terrainId = terrain:getId()
@/gameplay/missionTypes/scatterPickup/customNodes/scatterResetNode.lua
state.zScl = nil
local obj = scenetree.findObject(state.objectId)
if obj then
@/lua/ge/extensions/editor/trafficManager.lua
local group = scenetree.findObject(simGroupName)
table.clear(session.vehiclesSorted)
for _, objName in ipairs(group:getObjects()) do -- automatically registers objects as session data, depending on class and dynamic fields
local obj = scenetree.findObject(objName)
local className = obj:getClassName()
if scenetree.objectExists(simGroupName) then
scenetree.findObject(simGroupName):delete()
be:reloadCollision()
if aiData.targetName ~= nil then -- target vehicle for AI mode
local targetVeh = scenetree.findObject(aiData.targetName)
if targetVeh then
for _, nameId in ipairs(session[key]) do
local veh = scenetree.findObject(nameId)
if veh then
end
local innerGroup = scenetree.findObject(simGroupName)
innerGroup:addObject(playerVeh)
local tempName = ffi.string(options.vehicleName)
if not scenetree.findObject(tempName) then -- transfer vehicle data to new table
currVeh:setName(tempName)
end
local innerGroup = scenetree.findObject(simGroupName)
innerGroup:addObject(veh)
for _, data in ipairs(data.vehicles) do
local veh = scenetree.findObject(data.name) -- vehicles need to be referenced by name instead of id when loading from prefab
if veh then
if scenetree.objectExists(nameId) then
local obj = scenetree.findObject(nameId)
spawn.safeTeleport(obj, obj:getPosition(), quatFromDir(obj:getDirectionVector(), obj:getDirectionVectorUp()), nil, nil, false, true)
if scenetree.objectExists(simGroupName) then
editor.selectObjects({scenetree.findObject(simGroupName):getID()})
local prefab = editor.createPrefabFromObjectSelection(prefabFilePath, nil, "auto") -- saves prefab file
if not sessionData.home.p1 then
local veh = scenetree.findObject(currSelection.vehicle)
if veh then
local group = scenetree.findObject(simGroupName)
@/lua/ge/extensions/ui/console.lua
for _, mapName in ipairs(vehicleActionMaps) do
local map = scenetree.findObject(mapName)
if map then
@/lua/ge/extensions/core/multiseat.lua
if changed then
local o = scenetree.findObject("MultiseatActionMap")
if o then
@/lua/ge/extensions/freeroam/facilities/fuelPrice.lua
local function _set7CharDisplay(objName, char)
local obj = scenetree.findObject(objName)
if not obj then log("E","setPrices",dumps(objName).."was not found");return end
local didWork = false
groupLC = scenetree.findObject("fuelPrice_localCopies")
if not groupLC then
for _,objName in ipairs(v2.displayObjects[i]) do
local obj = scenetree.findObject(objName)
if not obj then log("E","setPrices",dumps(objName).."was not found");return end
@/lua/ge/extensions/flowgraph/nodes/vehicle/ai/simpleFollowDecalroad.lua
function C:loadRecording()
local road = scenetree.findObject(self.pinIn.roadName.value or "")
if not road then return end
@/lua/ge/extensions/flowgraph/nodes/mission/stageLightsDragRace.lua
stageLights = {
prestageLightL = {obj = scenetree.findObject("Prestagelight_l"), anim = "prestage"},
prestageLightR = {obj = scenetree.findObject("Prestagelight_r"), anim = "prestage"},
prestageLightL = {obj = scenetree.findObject("Prestagelight_l"), anim = "prestage"},
prestageLightR = {obj = scenetree.findObject("Prestagelight_r"), anim = "prestage"},
stageLightL = {obj = scenetree.findObject("Stagelight_l"), anim = "prestage"},
prestageLightR = {obj = scenetree.findObject("Prestagelight_r"), anim = "prestage"},
stageLightL = {obj = scenetree.findObject("Stagelight_l"), anim = "prestage"},
stageLightR = {obj = scenetree.findObject("Stagelight_r"), anim = "prestage"}
stageLightL = {obj = scenetree.findObject("Stagelight_l"), anim = "prestage"},
stageLightR = {obj = scenetree.findObject("Stagelight_r"), anim = "prestage"}
}
@/lua/ge/extensions/core/input/actions.lua
-- create any new/missing actionmaps in c++ side
local am = scenetree.findObject(actionMap)
if not am then
local function queueCmd(vehId, cmd)
local vehObj = scenetree.findObject(vehId)
if vehObj then
@/lua/ge/extensions/render/hdr.lua
local postEffectBrightPassObj = scenetree.findObject("PostEffectBrightPassObject")
if not postEffectBrightPassObj then
local postEffectDownScaleObj = scenetree.findObject("PostEffectDownScaleObject")
if not postEffectDownScaleObj then
local postEffectLuminance = scenetree.findObject("PostEffectLuminanceObject")
if not postEffectLuminance then
local postEffectCombinePass = scenetree.findObject("PostEffectCombinePassObject")
if not postEffectCombinePass then
@/lua/ge/client/lighting/advanced/shadowViz.lua
local al_ShadowVisualizeShader = scenetree.findObject("AL_ShadowVisualizeShader")
if not al_ShadowVisualizeShader then
local al_ShadowVisualizeMaterial = scenetree.findObject("AL_ShadowVisualizeMaterial")
if not al_ShadowVisualizeMaterial then
@/lua/ge/extensions/flowgraph/nodes/mission/lightsController.lua
stageLights = {
prestageLightL = {obj = scenetree.findObject("Prestagelight_l"), anim = "prestage"},
prestageLightR = {obj = scenetree.findObject("Prestagelight_r"), anim = "prestage"},
prestageLightL = {obj = scenetree.findObject("Prestagelight_l"), anim = "prestage"},
prestageLightR = {obj = scenetree.findObject("Prestagelight_r"), anim = "prestage"},
stageLightL = {obj = scenetree.findObject("Stagelight_l"), anim = "prestage"},
prestageLightR = {obj = scenetree.findObject("Prestagelight_r"), anim = "prestage"},
stageLightL = {obj = scenetree.findObject("Stagelight_l"), anim = "prestage"},
stageLightR = {obj = scenetree.findObject("Stagelight_r"), anim = "prestage"}
stageLightL = {obj = scenetree.findObject("Stagelight_l"), anim = "prestage"},
stageLightR = {obj = scenetree.findObject("Stagelight_r"), anim = "prestage"}
},
countDownLights = {
amberLight1R = {obj = scenetree.findObject("Amberlight1_R"), anim = "tree"},
amberLight2R = {obj = scenetree.findObject("Amberlight2_R"), anim = "tree"},
amberLight1R = {obj = scenetree.findObject("Amberlight1_R"), anim = "tree"},
amberLight2R = {obj = scenetree.findObject("Amberlight2_R"), anim = "tree"},
amberLight3R = {obj = scenetree.findObject("Amberlight3_R"), anim = "tree"},
amberLight2R = {obj = scenetree.findObject("Amberlight2_R"), anim = "tree"},
amberLight3R = {obj = scenetree.findObject("Amberlight3_R"), anim = "tree"},
amberLight1L = {obj = scenetree.findObject("Amberlight1_L"), anim = "tree"},
amberLight3R = {obj = scenetree.findObject("Amberlight3_R"), anim = "tree"},
amberLight1L = {obj = scenetree.findObject("Amberlight1_L"), anim = "tree"},
amberLight2L = {obj = scenetree.findObject("Amberlight2_L"), anim = "tree"},
amberLight1L = {obj = scenetree.findObject("Amberlight1_L"), anim = "tree"},
amberLight2L = {obj = scenetree.findObject("Amberlight2_L"), anim = "tree"},
amberLight3L = {obj = scenetree.findObject("Amberlight3_L"), anim = "tree"},
amberLight2L = {obj = scenetree.findObject("Amberlight2_L"), anim = "tree"},
amberLight3L = {obj = scenetree.findObject("Amberlight3_L"), anim = "tree"},
greenLightR = {obj = scenetree.findObject("Greenlight_R"), anim = "tree"},
amberLight3L = {obj = scenetree.findObject("Amberlight3_L"), anim = "tree"},
greenLightR = {obj = scenetree.findObject("Greenlight_R"), anim = "tree"},
greenLightL = {obj = scenetree.findObject("Greenlight_L"), anim = "tree"},
greenLightR = {obj = scenetree.findObject("Greenlight_R"), anim = "tree"},
greenLightL = {obj = scenetree.findObject("Greenlight_L"), anim = "tree"},
redLightR = {obj = scenetree.findObject("Redlight_R"), anim = "tree"},
greenLightL = {obj = scenetree.findObject("Greenlight_L"), anim = "tree"},
redLightR = {obj = scenetree.findObject("Redlight_R"), anim = "tree"},
redLightL = {obj = scenetree.findObject("Redlight_L"), anim = "tree"}
redLightR = {obj = scenetree.findObject("Redlight_R"), anim = "tree"},
redLightL = {obj = scenetree.findObject("Redlight_L"), anim = "tree"}
}
@/lua/ge/extensions/ui/missionInfo.lua
if content.actionMap ~= false then
local am = scenetree.findObject("MissionUIActionMap")
if am then am:push() end
--if content.actionMap ~= false then
-- local am = scenetree.findObject("MissionUIActionMap")
-- if am then am:push() end
M.closeDialogue = function()
local am = scenetree.findObject("MissionUIActionMap")
if am then am:pop() end
@/lua/ge/extensions/editor/raceEditor/tools.lua
local groupName = self.path.name.."_decoration"
local group = scenetree.findObject(groupName)
groupCounter = groupCounter + 1
group = scenetree.findObject(groupName .. groupCounter)
end
for _, node in pairs(self.path.pathnodes.objects) do
if scenetree.findObject(node.name) then
scenetree.findObject(node.name):delete()
if scenetree.findObject(node.name) then
scenetree.findObject(node.name):delete()
end
@/ui/ui-vue/src/bridge/libs/UINavEvents.js
//lua.extensions.core_input_bindings.setMenuActionMapEnabled(state) // not 100% sure this is safe
//runRawLua(`scenetree.findObject("${UI_NAVIGATION_ACTION_MAP}"):${state?'push':'pop'}()`) // TODO: REMOVE ME: this should have been done already thanks to the line above. if you are reading this comment after v0.34 has been released to the public, delete this line ASAP so we can test and release to public without it
}
@/lua/ge/extensions/scenario/quickRace.lua
end
local spawnObj = scenetree.findObject(spawnSphere)
if spawnObj ~= nil then
@/lua/ge/extensions/gameplay/missions/missionManager.lua
for _, name in ipairs(scenetree.findClassObjects("BeamNGVehicle")) do
local obj = scenetree.findObject(name)
if obj then
for _, name in ipairs(scenetree.findClassObjects("BeamNGVehicle")) do
local obj = scenetree.findObject(name)
if obj and obj:getActive() then
@/lua/ge/extensions/editor/assemblySpline/import.lua
if entry.name then
local obj = scenetree.findObject(entry.name)
if obj and obj:getClassName() == "TSStatic" then
for _, meshName in pairs(scenetree.findClassObjects("TSStatic")) do
local obj = scenetree.findObject(meshName)
if obj then
@/lua/ge/extensions/editor/materialEditor.lua
for _, objName in ipairs(meshNames) do
local obj = scenetree.findObject(objName)
if obj then
for _, defName in ipairs(defs) do
local defObj = scenetree.findObject(defName)
if defObj then
local matName = matNames[i]
mat = scenetree.findObject(matName)
if mat and mat.___type == "class" and not mat:isAutoGenerated() then
if not materialName then return end
currentMaterial = scenetree.findObject(materialName)
if not currentMaterial then return end
for _, objName in ipairs(editor.selection.object) do
local obj = scenetree.findObject(objName)
if obj and (obj.___type == "class" or obj.___type == "class") then
for k, val in pairs(sortedMaterialObjectNamesAtTop) do
local mat = scenetree.findObject(val)
if mat and mat.___type == "class" then
for k, val in pairs(sortedMaterialObjectNames) do
local mat = scenetree.findObject(val)
if mat and mat.___type == "class" then
for matName, _ in pairs(v.dirtyMaterials) do
local mat = scenetree.findObject(matName)
if mat then
local function cubemapFaceUndo(actionData)
local obj = scenetree.findObject(actionData.objectId)
if obj then
local function cubemapFaceRedo(actionData)
local obj = scenetree.findObject(actionData.objectId)
if obj then
ffi.copy(cubemapNamePtr, cubemapName)
selectedCubemapObj = scenetree.findObject(cubemapName)
end
createMaterialName = ffi.string(newMatName)
local mat = scenetree.findObject(createMaterialName)
if mat then
@/lua/ge/extensions/editor/mainToolbar.lua
for _, mapName in ipairs(vehicleActionMaps) do
local map = scenetree.findObject(mapName)
if map then
@/lua/ge/client/postFx/edgeAA.lua
local pfxDefaultEdgeAAStateBlock = scenetree.findObject("PFX_DefaultEdgeAAStateBlock")
if not pfxDefaultEdgeAAStateBlock then
local pfxEdgeAADetectShader = scenetree.findObject("PFX_EdgeAADetectShader")
if not pfxEdgeAADetectShader then
local pfxEdgeAAShader = scenetree.findObject("PFX_EdgeAAShader")
if not pfxEdgeAAShader then
local pfxEdgeAADebugShader = scenetree.findObject("PFX_EdgeAADebugShader")
if not pfxEdgeAADebugShader then
local edgeDetectPostEffect = scenetree.findObject("EdgeDetectPostEffect")
if not edgeDetectPostEffect then
local edgeDetectPostEffect = scenetree.findObject("EdgeAAPostEffect")
if not edgeDetectPostEffect then
local debug_EdgeAAPostEffect = scenetree.findObject("Debug_EdgeAAPostEffect")
if not debug_EdgeAAPostEffect then
@/lua/ge/extensions/flowgraph/nodes/ui/imgui/elemental/imBegin.lua
if anchor == "TL" or anchor == "TR" or anchor == "BL" or anchor == "BR" then
local canvasObject = scenetree.findObject("Canvas")
if canvasObject then
@/lua/ge/extensions/scenario/scenarios.lua
if scenario.vehicles[vName].driver["fleeTarget"] then
targetvehicle = scenetree.findObject(scenario.vehicles[vName].driver["fleeTarget"])
targetVehId = targetvehicle:getID()
local function showIntroPrefab(visible)
local introPrefab = scenetree.findObject(scenario.scenarioName..'_intro')
if not introPrefab then return end
local function deleteVehicle(vehicleName)
local vehicle = scenetree.findObject(vehicleName)
if vehicle then
local vehicleName = assignment.vehicleName
local vehicle = scenetree.findObject(vehicleName)
if vehicle then
if not node1 then
node1 = scenetree.findObject(scenario.lapConfig[i])
pos1 = node1:getPosition()
if not node2 then
node2 = scenetree.findObject(scenario.lapConfig[i + 1])
pos2 = node2:getPosition()
for objName, objFields in pairs(initialLevelState) do
local levelObj = scenetree.findObject(objName)
if levelObj and levelObj.obj then
for objName, objFields in pairs(scenario.levelObjects) do
local levelObj = scenetree.findObject(objName)
if levelObj and levelObj.obj then
local function setupPathCamera()
local democam = scenetree.findObject('democam')
if democam and democam.className == 'SimPath' then
if democam and democam.className == 'SimPath' then
pathCameraData.hasIntro = scenetree.findObject("democam_intro") ~= nil
pathCameraData.hasDemo = scenetree.findObject("democam") ~= nil
pathCameraData.hasIntro = scenetree.findObject("democam_intro") ~= nil
pathCameraData.hasDemo = scenetree.findObject("democam") ~= nil
pathCameraData.hasCampaignIntro = scenetree.findObject("democam_campaign_intro") ~= nil
pathCameraData.hasDemo = scenetree.findObject("democam") ~= nil
pathCameraData.hasCampaignIntro = scenetree.findObject("democam_campaign_intro") ~= nil
pathCameraData.getNextPath = nop
for k, vecName in ipairs(vehicles) do
local to = scenetree.findObject(vecName)
if to and to.obj and to.obj:getId() and prefabIsChildOfGroup(to.obj, 'ScenarioObjectsGroup') then
--log('D', logTag, tostring(k) .. ' = ' .. tostring(nodeName))
local o = scenetree.findObject(nodeName)
if o then
-- set free camera and use camera bookmark
local cameraMark = scenetree.findObject(scenario.camera.name)
if cameraMark then
local objName = string.lower(objNameNew or objNameOld)
if not scenetree.findObject(objName) then
local prefabObj = spawnPrefab(objName, filename, '0 0 0', '0 0 1 0', '1 1 1')
data.vehicles[index] = vehicleName
local vehicleObj = scenetree.findObject(vehicleName)
if vehicleObj and vehicleObj.internalName and vehicleObj.internalName ~= "" then
local democam = scenetree.findObject('democam')
if democam and democam.className == 'SimPath' then
end
local vehicle = scenetree.findObject(vehicleName)
if vehicle then
for k, vecName in ipairs(vehicles) do
local vehicle = scenetree.findObject(vecName)
if vehicle and vehicle.obj then
for vehName,data in pairs(scenario.vehicleTrackingTable) do
local vehicle = scenetree.findObject(vehName)
local vehicleID = vehicle:getID()
for _,name in ipairs(triggers) do
local trigger = scenetree.findObject(name)
if trigger then
for k, vehicleName in ipairs(allVehicles) do
local vehicle = scenetree.findObject(vehicleName)
if vehicle then
for vName, _ in pairs(scenario.vehicleNameToId or {}) do
local vehicle = scenetree.findObject(vName)
if vehicle then
for vehicleName, vehicleData in pairs(scenario.multiseatDeletedVehicles or {}) do
local vehicle = scenetree.findObject(vehicleName)
if not vehicle and vehicleData then
for k, vehicleName in ipairs(vehicles) do
local vehicle = scenetree.findObject(vehicleName)
if vehicle:isReady() then
for vehicleName, _ in pairs(scenario.multiseatDeletedVehicles or {}) do
local vehicle = scenetree.findObject(vehicleName)
if vehicle then
local vehicle = scenetree.findObject(vehicleName)
if vehicle and data then
@/lua/ge/extensions/flowgraph/nodes/util/closestRoad.lua
if not idId then
local obj = scenetree.findObject(string.sub(short,1,underscoreIndex-1))
if obj then
@/lua/ge/extensions/flowgraph/nodes/vehicle/toggleVehicleControls.lua
function C:work()
local o = scenetree.findObject("VehicleCommonActionMap")
if o then o:setEnabled(self.pinIn.controllable.value) end
-- undo all stuff you did
local o = scenetree.findObject("VehicleCommonActionMap")
if o then o:setEnabled(true) end
@/lua/ge/extensions/editor/roadDecorations.lua
M.decorateProps = function(roadName, shapeName, distance, period, rotation, zOff, align)
local road = scenetree.findObject(roadName)
local props = {}
local groupName = string.format('decorations.%d', tostring(roadName))
local group = scenetree.findObject(groupName)
groupCounter = groupCounter + 1
group = scenetree.findObject(groupName .. groupCounter)
end
@/lua/ge/extensions/editor/gen/exp_frame.lua
W.up = function(k, lbl)
local obj = scenetree.findObject("spawn_default")
if obj then obj.hidden = true end
if obj then obj.hidden = true end
obj = scenetree.findObject("thePlayer")
if obj then obj:delete() end
groupEdit = scenetree.findObject('edit')
if not groupEdit then
@/lua/ge/extensions/core/settings/graphic.lua
local function videoModeFromString( videoModeStr )
local canvas = scenetree.findObject("Canvas")
local function updateDisplayInfoWindowRegion()
local canvas = scenetree.findObject("Canvas")
if canvas then
end
local canvas = scenetree.findObject("Canvas")
local desktopMode = GFXDevice.getDesktopMode() or {width = 1280, height = 720}
if o.WindowPlacement.placement == "" then
local canvas = scenetree.findObject("Canvas")
o.WindowPlacement.placement = canvas and canvas:getPlacement() or ""
local smaaPostEffect = scenetree.findObject("SMAA_PostEffect")
local fxaaPostEffect = scenetree.findObject("FXAA_PostEffect")
local smaaPostEffect = scenetree.findObject("SMAA_PostEffect")
local fxaaPostEffect = scenetree.findObject("FXAA_PostEffect")
if value == "fxaa" then
set = function ( value )
local SMAA_PostEffect = scenetree.findObject("SMAA_PostEffect")
if not SMAA_PostEffect then return end
if not SMAA_PostEffect then return end
local FXAA_PostEffect = scenetree.findObject("FXAA_PostEffect")
if not FXAA_PostEffect then return end
get = function ()
local DOFPostEffect = scenetree.findObject("DOFPostEffect")
if not DOFPostEffect then return end
TorqueScriptLua.setVar( '$DOFPostFx::Enable', value )
local DOFPostEffect = scenetree.findObject("DOFPostEffect")
if not DOFPostEffect then return end
settings.setValue("PostFXBloomGeneralEnabled", value)
local postFX = scenetree.findObject("PostEffectBloomObject")
if not postFX then return end
get = function ()
local LightRayPostFX = scenetree.findObject("LightRayPostFX")
if not LightRayPostFX then return end
--print("*************LightRayPostFX 2 set")
local LightRayPostFX = scenetree.findObject("LightRayPostFX")
if not LightRayPostFX then return end
settings.setValue("PostFXMotionBlurEnabled", value)
local fx = scenetree.findObject("PostFxMotionBlur")
if not fx then return end
get = function ()
local SSAOPostFx = scenetree.findObject("SSAOPostFx")
if not SSAOPostFx then return end
TorqueScriptLua.setVar( '$SSAOPostFx::Enable', value )
local SSAOPostFx = scenetree.findObject("SSAOPostFx")
if not SSAOPostFx then return end
if enabled == 0 then return end
local ssao = scenetree.findObject("SSAOPostFx")
if not ssao then return end
--log('I', 'graphic', 'onFirstUpdateSettings called.....')
local canvas = scenetree.findObject("Canvas")
if not canvas then return end
-- set canvas mode
local canvas = scenetree.findObject("Canvas")
local function toggleFullscreen()
local canvas = scenetree.findObject("Canvas")
@/lua/ge/extensions/gameplay/markers/bigmapMarker.lua
iconRendererObj = scenetree.findObject(iconRendererName)
if not iconRendererObj then
@/lua/ge/extensions/editor/decalEditor.lua
local label = selectedInstance.template:__tostring()
local material = scenetree.findObject(selectedInstance.template.material)
if selectedTemplate and selectedTemplate.material then
local material = scenetree.findObject(selectedTemplate.material)
if material then
@/lua/ge/extensions/gameplay/markers/walkingMarker.lua
for idx, ntuple in ipairs(cluster.doors or {}) do
local area = scenetree.findObject(ntuple[1])
local icon = scenetree.findObject(ntuple[2])
local area = scenetree.findObject(ntuple[1])
local icon = scenetree.findObject(ntuple[2])
if area and icon then
if (cluster.screens or {})[idx] then
local screenObj = scenetree.findObject((cluster.screens or {})[idx])
if screenObj then
self:clearObjects()
iconRendererObj = scenetree.findObject(iconRendererName)
if not iconRendererObj then
if self.iconRendererId then
iconRendererObj = scenetree.findObject(self.iconRendererId)
if iconRendererObj then
if self.iconRendererId then
iconRendererObj = scenetree.findObject(self.iconRendererId)
if iconRendererObj then
@/lua/ge/extensions/editor/terraform/fetchSources.lua
for _, meshRoadName in ipairs(scenetree.findClassObjects("MeshRoad")) do
local road = scenetree.findObject(meshRoadName)
local center = road:getWorldBox():getCenter()
@/lua/ge/extensions/editor/resourceChecker.lua
for _, objName in ipairs(objs) do
local o = scenetree.findObject(objName)
if o then
local function matHovered(res)
local mat = scenetree.findObject(res)
local matPreviewSize = 128 * im.uiscale[0]
if type and type == 'material' or type == 'duplicates' or type == 'usedMat' then
local o = scenetree.findObject(res)
if o and o.getFileName then
@/lua/ge/extensions/editor/buildingEditor.lua
if U._PRD == 1 then
if scenetree.findObject('edit') then
-- lo('??____ FOUND_edit:')
-- lo('??____ FOUND_edit:')
scenetree.MissionGroup:removeObject(scenetree.findObject('edit'))
end
end
if scenetree.findObject('lines') then
scenetree.MissionGroup:removeObject(scenetree.findObject('lines'))
if scenetree.findObject('lines') then
scenetree.MissionGroup:removeObject(scenetree.findObject('lines'))
end
end
if scenetree.findObject('e_road') then
scenetree.MissionGroup:removeObject(scenetree.findObject('e_road'))
if scenetree.findObject('e_road') then
scenetree.MissionGroup:removeObject(scenetree.findObject('e_road'))
local obj = scenetree.findObject('e_road')
scenetree.MissionGroup:removeObject(scenetree.findObject('e_road'))
local obj = scenetree.findObject('e_road')
if obj then
end
print('?? ^^^^^^^^^^^ had_EROAD:'..tostring(scenetree.findObject('e_road')))
end
-- print('>>______________________________________________________ onActivate:'..tostring(U._PRD))
-- lo('>> onActivate:'..tostring(isfirst)..':'..tostring(U._PRD)..' edit:'..tostring(scenetree.findObject('edit')))
if U._PRD == 1 then
if scenetree.findObject('edit') then
-- lo('??____ FOUND_edit:')
-- lo('??____ FOUND_edit:')
scenetree.MissionGroup:removeObject(scenetree.findObject('edit'))
end
end
if scenetree.findObject('lines') then
scenetree.MissionGroup:removeObject(scenetree.findObject('lines'))
if scenetree.findObject('lines') then
scenetree.MissionGroup:removeObject(scenetree.findObject('lines'))
end
end
if scenetree.findObject('e_road') then
scenetree.MissionGroup:removeObject(scenetree.findObject('e_road'))
if scenetree.findObject('e_road') then
scenetree.MissionGroup:removeObject(scenetree.findObject('e_road'))
end
-- W.buildingGen()
-- if _dbg then scenetree.findObject("thePlayer"):setMeshAlpha(0, "", false) end
--[[
if scenetree.findObject("edit") == nil then
local go = createObject("SimGroup")
local function onDeactivate()
-- print('>> onDeactivate:'..tostring(U._PRD)..':'..tostring(scenetree.findObject('e_road')))
if scenetree.findObject('e_road') then
-- print('>> onDeactivate:'..tostring(U._PRD)..':'..tostring(scenetree.findObject('e_road')))
if scenetree.findObject('e_road') then
scenetree.MissionGroup:removeObject(scenetree.findObject('e_road'))
if scenetree.findObject('e_road') then
scenetree.MissionGroup:removeObject(scenetree.findObject('e_road'))
local obj = scenetree.findObject('e_road')
scenetree.MissionGroup:removeObject(scenetree.findObject('e_road'))
local obj = scenetree.findObject('e_road')
if obj then
end
if scenetree.findObject('e_road') then
print('!! BAT.CLEANUP_FOLDERS')
if U._PRD == 1 then
-- print('?? BAT_deact:'..tostring(scenetree.findObject('e_road')))
if scenetree.findObject('edit') then
-- print('?? BAT_deact:'..tostring(scenetree.findObject('e_road')))
if scenetree.findObject('edit') then
scenetree.MissionGroup:removeObject(scenetree.findObject('edit'))
if scenetree.findObject('edit') then
scenetree.MissionGroup:removeObject(scenetree.findObject('edit'))
lo('?? onDeactivate_edit_REMOVED:'..tostring(scenetree.findObject('edit')))
scenetree.MissionGroup:removeObject(scenetree.findObject('edit'))
lo('?? onDeactivate_edit_REMOVED:'..tostring(scenetree.findObject('edit')))
-- scenetree.findObject('edit'):delete()
lo('?? onDeactivate_edit_REMOVED:'..tostring(scenetree.findObject('edit')))
-- scenetree.findObject('edit'):delete()
end
end
if scenetree.findObject('lines') then
scenetree.MissionGroup:removeObject(scenetree.findObject('lines'))
if scenetree.findObject('lines') then
scenetree.MissionGroup:removeObject(scenetree.findObject('lines'))
-- scenetree.findObject('edit'):delete()
scenetree.MissionGroup:removeObject(scenetree.findObject('lines'))
-- scenetree.findObject('edit'):delete()
end
local function onSerialize()
-- print('??^^^^^^^^^^ onSerialize:'..tostring(scenetree.findObject('e_road')))
if scenetree.findObject('e_road') then
-- print('??^^^^^^^^^^ onSerialize:'..tostring(scenetree.findObject('e_road')))
if scenetree.findObject('e_road') then
scenetree.MissionGroup:removeObject(scenetree.findObject('e_road'))
if scenetree.findObject('e_road') then
scenetree.MissionGroup:removeObject(scenetree.findObject('e_road'))
local obj = scenetree.findObject('e_road')
scenetree.MissionGroup:removeObject(scenetree.findObject('e_road'))
local obj = scenetree.findObject('e_road')
if obj then
if false then return end
local groupDecal = scenetree.findObject('e_road')
if groupDecal then
@/lua/ge/extensions/editor/rendererComponents.lua
local data = HDRsettings[pfxName]
local obj = scenetree.findObject(data.objectName)
local function renderDepthOfFieldTab()
local DOFPostEffect = scenetree.findObject("DOFPostEffect")
if not DOFPostEffect then
TorqueScriptLua.setVar("$PostFXManager::PostFX::EnableLightRays", lightraysSettings['enable'].value)
local lightRayPostFX = scenetree.findObject("LightRayPostFX")
if lightRayPostFX then
local data = HDRsettings[pfxName]
local obj = scenetree.findObject(data.objectName)
M.onEditorActivated = function()
local DOFPostEffect = scenetree.findObject("DOFPostEffect")
if DOFPostEffect then
local lightRayPostFX = scenetree.findObject("LightRayPostFX")
if lightRayPostFX then
@/lua/ge/extensions/editor/audioRibbonEditor.lua
for i = 1, #riverNames do
local river = scenetree.findObject(riverNames[i])
if river then
if waterPlanes and waterPlanes[1] then
local waterPlane = scenetree.findObject(waterPlanes[1])
if waterPlane:getClassName() == "WaterPlane" then
@/ui/ui-vue/dist/index.js
Parent:`,parent$1,`
Child:`,prioNode),warnPrioNesting=!0)}let active=document.activeElement;(!active||!prioNode.contains(active))&&(rectNode=prioNode)}let rect=rectNode.getBoundingClientRect();if(rect.right<0||rect.bottom<0||rect.left>screen.width||rect.top>screen.height){node.classList.remove(MENU_NAVIGATION_CLASS);continue}node.classList.add(MENU_NAVIGATION_CLASS),node.tabIndex=0;let lnk={dom:node,rect};links.up&&links.up.push(lnk),links.down&&links.down.push(lnk),links.left&&links.left.push(lnk),links.right&&links.right.push(lnk)}return links.up&&links.up.sort((a$1,b)=>a$1.rect.top-b.rect.top),links.down&&links.down.sort((a$1,b)=>a$1.rect.bottom-b.rect.bottom),links.left&&links.left.sort((a$1,b)=>a$1.rect.left-b.rect.left),links.right&&links.right.sort((a$1,b)=>a$1.rect.right-b.rect.right),links}function isAvailable(node){if(!isVisibleFast(node))return!1;let style=document.defaultView.getComputedStyle(node,null);return style[`pointer-events`]===`none`||!isVisible(node,style)?!1:!isOccluded(node)}function isOccluded(node,dontIgnoreOffscreen=!1){let rects=node.getClientRects();for(let rect of rects)if(!isOccluded$1(node,rect,dontIgnoreOffscreen))return!1;return!0}function getDistanceFast(curr,goal,direction$1,usePerpendicular=!1){let dx=Math.min(goal.right,curr.right)-Math.max(goal.left,curr.left),dy=Math.min(goal.bottom,curr.bottom)-Math.max(goal.top,curr.top);dx===goal.right-goal.left&&(dx=curr.right-goal.left),dy===goal.bottom-goal.top&&(dy=curr.bottom-goal.top);let res=1/0;if(direction$1===DIR.DOWN&&goal.bottom>curr.bottom?res=Math.max(0,goal.bottom-curr.top)-dx:direction$1===DIR.UP&&goal.topcurr.right?res=Math.max(0,goal.left-curr.right)-dy:direction$1===DIR.LEFT&&goal.left{let firstLink=null,firstElementDistance=2**53-1;for(let link of links){let distance=link.rect.top*link.rect.top+link.rect.left*link.rect.left;distance>firstElementDistance||(firstElementDistance=distance,firstLink=link)}if(!firstLink){console.log(`Couldn't locate any button anywhere. Menu navigation won't work`);return}focusOnElement(firstLink.dom),scrollFix(firstLink,direction$1)}),!0;if(active.nodeName===`MD-SLIDER`&&(direction$1===DIR.LEFT||direction$1===DIR.RIGHT)||active.nodeName===`MD-OPTION`&&(direction$1===DIR.UP||direction$1===DIR.DOWN)||active.nodeName===`INPUT`&&active.type===`range`&&(direction$1===DIR.LEFT||direction$1===DIR.RIGHT))return fireKey(active,direction$1),!0;let{nearestLink,fixScroll}=findNext(links,direction$1,active);if(nearestLink)return focusOnElement(nearestLink.dom),fixScroll?.(),nearestLink.dom;if(links.length===0){let mdBackdrops=[...document.querySelectorAll(`md-backdrop, .md-scroll-mask`)];if(mdBackdrops.length>0){for(let el of mdBackdrops)try{el.parentNode.removeChild(el)}catch{}return navigateNext(links,direction$1,activeOverride)}}return!1}function findNext(links,direction$1,activeOverride=null){let active=activeOverride||document.activeElement,activeRect=active.getBoundingClientRect(),fixScroll=!0;if(isScrolling(direction$1)&&isOccluded(active,activeRect,!0)){let axis,boundsame,boundchange;switch(direction$1){case DIR.UP:case DIR.DOWN:axis=`vertical`,boundsame=[`left`,`right`],boundchange=[`top`,`bottom`];break;case DIR.LEFT:case DIR.RIGHT:axis=`horizontal`,boundsame=[`top`,`bottom`],boundchange=[`left`,`right`];break}if(navScrolling[axis].area){let bounds=navScrolling[axis].area.bounds,axisBound=activeRect[boundchange[1]]scrollFix(nearestLink,direction$1):null}}var navScrolling={running:!1,listening:{vertical:!1,horizontal:!1},dom:null,rect:null,vertical:{active:!1,amount:0,area:null},horizontal:{active:!1,amount:0,area:null},hint:{show:!1}};function drawScrollHint(){let show=isScrolling();if(navScrolling.hint.show===show)return;navScrolling.hint.show=show;let elem=document.getElementById(`xf_scroll`);elem&&(elem.style.display=show?``:`none`)}function navigateScroll(axis,amount){if(axis===AXIS_V&&(amount=-amount),navScrolling[axis].amount=amount*15,Math.abs(navScrolling[axis].amount)<1){navScrolling[axis].active=!1;return}navScrolling[axis].active=!0;let dom=document.activeElement;navScrolling.dom!==dom&&(navScrolling.dom=dom,navScrolling.rect=dom.getBoundingClientRect(),navScrolling[axis===AXIS_H?AXIS_V:AXIS_H].active=!1);let area=findScrollable(navScrolling,axis,!0);if(navScrolling[axis].area=area,!area){navScrolling[axis].active=!1;return}return navScrolling.running||window.requestAnimationFrame(function scrl(){let set={};for(let axis$1 of[AXIS_V,AXIS_H]){let cur=navScrolling[axis$1];if(!cur.active||!cur.area)continue;let pos=cur.area.parent[cur.area.readby]+navScrolling[axis$1].amount;pos>cur.area.fullsize?cur.active=!1:set[cur.area.moveby]=pos}navScrolling.running=Object.keys(set).length>0,navScrolling.running&&(area.parent.scrollTo({...set,behavior:`instant`}),document.dispatchEvent(new CustomEvent(`mdtooltiphide`)),window.requestAnimationFrame(scrl))}),!0}function scrollCatch(axis,enable){if(navScrolling.listening[axis]===enable)return;let cur=isScrolling();navScrolling.listening[axis]=enable,cur!==isScrolling()&&(bngApi.engineLua(`local o = scenetree.findObject("MenuScrollActionMap"); if o then o:${enable?`push`:`pop`}() end`),window.bngVue.uiNavTracker&&(enable?window.bngVue.uiNavTracker.addEvent(UI_SCROLL_ACTION_EVENTS[axis],TRACKER_ID):window.bngVue.uiNavTracker.removeEvent(UI_SCROLL_ACTION_EVENTS[axis],TRACKER_ID)))}function isScrolling(direction$1=void 0){let scrolling=!1;return direction$1?direction$1===DIR.UP||direction$1===DIR.DOWN?scrolling=navScrolling.listening.vertical:(direction$1===DIR.LEFT||direction$1===DIR.RIGHT)&&(scrolling=navScrolling.listening.horizontal):scrolling=navScrolling.listening.horizontal||navScrolling.listening.vertical,scrolling}function isScrollListening(axis=void 0){let listening=!1;return listening=axis?navScrolling.listening[axis]:navScrolling.listening.horizontal||navScrolling.listening.vertical,listening}function findScrollable(link,axis,thumbstick){axis!==AXIS_V&&axis!==AXIS_H&&(axis=AXIS_V);let opts=axis===AXIS_H?{moveby:`left`,readby:`scrollLeft`,size:`width`,scroll:`scrollWidth`,client:`clientWidth`,overflow:`overflow-x`}:{moveby:`top`,readby:`scrollTop`,size:`height`,scroll:`scrollHeight`,client:`clientHeight`,overflow:`overflow-y`},forced=!1,parent,fullsize,size$3,node=link.dom?.parentNode;function setParent(node$1){if(!node$1)return;if(thumbstick){let noNav=node$1.attributes.getNamedItem(SCROLL_ATTR);if(noNav&&noNav.value===`false`)return}let styles$1=document.defaultView.getComputedStyle(node$1,null);(styles$1[opts.overflow]===`auto`||styles$1[opts.overflow]===`scroll`)&&(fullsize=node$1[opts.scroll],size$3=node$1[opts.client],fullsize>size$3&&(parent=node$1))}for(;node&&node.isConnected&&node.nodeType===Node.ELEMENT_NODE&&!((!thumbstick||node.attributes.getNamedItem(`bng-nav-scroll`))&&(setParent(node),parent));)node=node.parentNode;if(!parent){let elems$2=document.querySelectorAll(`[${SCROLL_FORCE_ATTR}]`);for(let elem of elems$2)if(setParent(elem),parent){forced=!0;break}}if(scrollCatch(axis,!!parent),drawScrollHint(),!parent)return null;let start=0,styles=document.defaultView.getComputedStyle(parent,null);[`relative`,`absolute`,`static`,`fixed`].includes(styles.position)&&(start+=parent.getBoundingClientRect()[opts.moveby]);let pad=link.rect?Math.max(size$3/4,link.rect[opts.size]):size$3/4,bounds=[start+pad,start+size$3-pad];return{parent,moveby:opts.moveby,readby:opts.readby,bounds,fullsize,start:0,finish:fullsize-size$3,forced}}function scrollFix(link,direction$1){let area=findScrollable(link,direction$1===DIR.UP||direction$1===DIR.DOWN?AXIS_V:AXIS_H);if(!area){document.querySelector(`[bng-nav-scroll], [bng-nav-scroll-force]`)&&findScrollable(link,direction$1===DIR.LEFT||direction$1===DIR.RIGHT?AXIS_V:AXIS_H);return}if(area.forced)return;let mov=-1;direction$1===DIR.UP||direction$1===DIR.DOWN?link.rect.toparea.bounds[1]&&(mov=Math.min(area.parent.scrollTop-area.bounds[1]+link.rect.bottom,area.finish)):link.rect.leftarea.bounds[1]&&(mov=Math.min(area.parent.scrollLeft-area.bounds[1]+link.rect.right,area.finish)),mov>-1&&area.parent.scrollTo({[area.moveby]:mov,behavior:`instant`})}function fireKey(element,direction$1){let key=DIR_KEYS[direction$1];key&&dispatchKey(key,element)}function handleUINavEvent(e,restrictTo=void 0){let d=e.detail,handled=!1;if(d.name in UI_SCALAR_EVENT_ACTIONS){let axis=UI_SCALAR_EVENT_ACTIONS[d.name],value=d.value;if(value!==0&&THUMBSTICK_DEADZONE>0&&Math.abs(value)>THUMBSTICK_DEADZONE){let adjustedValue=(axis===AXIS_V?-value:value)>0?1:-1,direction$1=axis===AXIS_H?adjustedValue>0?DIR.RIGHT:DIR.LEFT:adjustedValue>0?DIR.DOWN:DIR.UP;lastScalarValue[axis]!==adjustedValue&&(lastScalarValue[axis]=adjustedValue,navigate(collectRects(direction$1,restrictTo),direction$1))}else lastScalarValue[axis]=0;handled=!0}if(d.name in UI_NAV_EVENT_ACTIONS){let action=UI_NAV_EVENT_ACTIONS[d.name];switch(action){case`up`:case`down`:case`left`:case`right`:d.value==1&&(navigate(collectRects(action,restrictTo),action),handled=!0);break;case`confirm`:if(d.value==1){let activeEl=document.activeElement;isNavigable$1(activeEl)&&(typeof activeEl.click==`function`?activeEl.click():activeEl.dispatchEvent(new CustomEvent(`click`))),handled=!0}break}}else if(d.name in UI_SCROLL_EVENT_ACTIONS){let axis=UI_SCROLL_EVENT_ACTIONS[d.name];navigateScroll(axis,d.value),handled=isScrollListening(axis)}handled&&e.preventDefault()}var SCOPED_NAV_ATTR$1=`bng-scoped-nav`,UI_NAV_ACTION_GROUP$1=`UINavActions`,GAME_UI_NAVIGATION_EVENT$1=`UINavigation`,GAME_UI_NAV_MAP_ENABLED_EVENT$1=`MenuActionMapEnabled`,DOM_UI_NAVIGATION_EVENT$1=`ui_nav`,UI_SCOPE_ATTR$3=`bng-ui-scope`,UI_EVENT_ATTR$1=`ui-nav-event`,ACTIONS_BY_UI_EVENT$1={focus_u:`menu_item_up`,focus_r:`menu_item_right`,focus_d:`menu_item_down`,focus_l:`menu_item_left`,menu:`toggleMenues`,back:`menu_item_back`,details:`cui_details`,advanced:`cui_advanced`,camera:`cui_camera`,logs:`cui_logs`,tab_l:`menu_tab_left`,tab_r:`menu_tab_right`,modifier:`cui_modifier`,action_4:`cui_action_4`,focus_ud:`menu_item_focus_ud`,focus_lr:`menu_item_focus_lr`,rotate_h_cam:`menu_item_radial_right_x`,rotate_v_cam:`menu_item_radial_right_y`,ok:`menu_item_select`,cancel:`cui_cancel`,action_2:`cui_action_2`,action_3:`cui_action_3`,gameplay_interact:`cui_gameplay_interact`,context:`cui_context`},UI_EVENTS_BY_ACTION$1=Object.assign({},...Object.entries(ACTIONS_BY_UI_EVENT$1).map(([k,v])=>({[v]:k}))),UI_EVENTS$1={focus_u:`focus_u`,focus_r:`focus_r`,focus_d:`focus_d`,focus_l:`focus_l`,pause:`pause`,menu:`menu`,back:`back`,details:`details`,advanced:`advanced`,camera:`camera`,logs:`logs`,tab_l:`tab_l`,tab_r:`tab_r`,modifier:`modifier`,zoom_out:`zoom_out`,zoom_in:`zoom_in`,subtab_l:`subtab_l`,subtab_r:`subtab_r`,center_cam:`center_cam`,action_4:`action_4`,move_ud:`move_ud`,move_lr:`move_lr`,focus_ud:`focus_ud`,focus_lr:`focus_lr`,rotate_h_cam:`rotate_h_cam`,rotate_v_cam:`rotate_v_cam`,ok:`ok`,cancel:`cancel`,action_2:`action_2`,action_3:`action_3`,gameplay_interact:`gameplay_interact`,context:`context`},UI_EVENT_GROUPS$1={focusMove:[UI_EVENTS$1.focus_u,UI_EVENTS$1.focus_d,UI_EVENTS$1.focus_l,UI_EVENTS$1.focus_r],focusMoveScalar:[UI_EVENTS$1.focus_ud,UI_EVENTS$1.focus_lr],moveScalar:[UI_EVENTS$1.move_ud,UI_EVENTS$1.move_lr],navigation:[UI_EVENTS$1.focus_u,UI_EVENTS$1.focus_d,UI_EVENTS$1.focus_l,UI_EVENTS$1.focus_r,UI_EVENTS$1.focus_ud,UI_EVENTS$1.focus_lr,UI_EVENTS$1.move_ud,UI_EVENTS$1.move_lr],allEvents:Object.keys(ACTIONS_BY_UI_EVENT$1)},setFilteredEvents=(...events$3)=>{clearFilteredEvents();let actionsToFilter=[...new Set(events$3.flat(1/0))].map(event=>ACTIONS_BY_UI_EVENT$1[event]);Lua_default.extensions.core_input_actionFilter.setGroup(UI_NAV_ACTION_GROUP$1,actionsToFilter),Lua_default.extensions.core_input_actionFilter.addAction(0,UI_NAV_ACTION_GROUP$1,!0)};setFilteredEvents.allExcept=(...events$3)=>{let eventsToNotFilter=[...new Set(events$3.flat(1/0))];setFilteredEvents(UI_EVENT_GROUPS$1.allEvents.filter(ev=>!eventsToNotFilter.includes(ev)))};var clearFilteredEvents=()=>{Lua_default.extensions.core_input_actionFilter.addAction(0,UI_NAV_ACTION_GROUP$1,!1),Lua_default.extensions.core_input_actionFilter.setGroup(UI_NAV_ACTION_GROUP$1,[])};const clamp=(val,min$1,max$1)=>Math.min(Math.max(val,min$1),max$1),round=(val,step=1)=>{if(val===void 0)throw Error(`The function at least needs a value`);return Math.round(val/step+2**-52)*step},roundDec=(val,dec=0)=>{if(val===void 0)throw Error(`The function at least needs a value`);if(dec>15)throw Error(`Floating point won't be precise after 15th decimal`);if(val===0)return 0;if(!Number.isInteger(dec))throw Error(`Decimal point must be an integer`);let pow=10**dec;return Math.round(val*pow+2**-52)/pow},roundDecSample=(val,sample=0)=>{let dec=getDecimalPlaces(sample);return dec===0?round(val):roundDec(val,dec)},getDecimalPlaces=num=>{if(Number.isInteger(num)||!Number.isFinite(num))return 0;let dec=0;for(;!Number.isInteger(num)&&Number.isFinite(num)&&(num*=10,dec++,!(dec>15)););return dec};var UIUnits_default=class{uiUnits={uiUnitLength:`metric`,uiUnitTemperature:`f`,uiUnitWeight:`lb`,uiUnitConsumptionRate:`imperial`,uiUnitTorque:`imperial`,uiUnitEnergy:`imperial`,uiUnitDate:`us`,uiUnitPower:`bhp`,uiUnitVolume:`gal`,uiUnitPressure:`psi`};mapping={length:`uiUnitLength`,speed:`uiUnitLength`,temperature:`uiUnitTemperature`,weight:`uiUnitWeight`,consumptionRate:`uiUnitConsumptionRate`,torque:`uiUnitTorque`,energy:`uiUnitEnergy`,date:`uiUnitDate`,power:`uiUnitPower`,volume:`uiUnitVolume`,pressure:`uiUnitPressure`,lengthMinor:`uiUnitLength`};userSettings={uiLanguage:`en-US`};eventBus={};api={};constructor(eventBus$1,api$1){this.eventBus=eventBus$1,this.api=api$1,this.beamBucks=this.beamBucks.bind(this),this.eventBus.on(`SettingsChanged`,data=>this.onSettingsChanged(data)),api$1.engineLua(`settings.notifyUI()`)}onSettingsChanged(data){for(let name in this.uiUnits)data.values[name]!==void 0&&(this.uiUnits[name]=data.values[name]);for(let name in this.userSettings)data.values[name]!==void 0&&(this.userSettings[name]=data.values[name].replace(/_/g,`-`))}buildString(func,val,numDecs,system){if([`division`,`buildString`,`date`].includes(func)||typeof this[func]!=`function`)throw Error(`Cannot use this function to build a string`);this.mapping[func]!==void 0&&system===void 0&&(system=this.uiUnits[this.mapping[func]]);let helper=this[func](val,system);return helper===null?``:typeof helper.val==`string`?helper.val:typeof helper.val==`number`?(helper.val<0&&helper.val>-(10**-numDecs)&&(helper.val=0),Intl.NumberFormat(this.userSettings.uiLanguage,{style:`decimal`,minimumFractionDigits:numDecs,maximumFractionDigits:numDecs}).format(helper.val)+` `+helper.unit):``}division(func1,func2,val1,val2,numDecs,system1,system2){let unsupported=[`division`,`weightPower`,`buildString`,`date`];if(unsupported.includes(func1)||typeof this[func1]!=`function`||unsupported.includes(func2)||typeof this[func2]!=`function`)throw Error(`Cannot use these functions`);let helper1=this[func1](val1,system1),helper2=this[func2](val2,system2);if(helper1!==null&&helper2!==null){let newVal=helper1.val/helper2.val;return{val:numDecs===void 0?newVal:roundDec(newVal,numDecs),unit:`${helper1.unit}/${helper2.unit}`}}else return console.error(`got null`,arguments),null}weightPower(x){let helper=this.division(`weight`,`power`,1,1);return helper===null?null:{val:helper.val*x,unit:helper.unit}}length(meters,system=this.uiUnits.uiUnitLength){if(system===`metric`)return meters<.01?{val:meters*1e3,unit:`mm`}:meters<1?{val:meters*100,unit:`cm`}:meters<1e3?{val:meters,unit:`m`}:{val:meters*.001,unit:`km`};if(system===`imperial`){let yd=meters*1.0936;return yd<1?{val:yd*36,unit:`in`}:yd<3?{val:yd*3,unit:`ft`}:{val:yd*568182e-9,unit:`mi`}}return null}distance=this.length;lengthMinor(meters,system=this.uiUnits.uiUnitLength){return system===`metric`?{val:meters*1,unit:`m`}:system===`imperial`?{val:meters*1.0936*3,unit:`ft`}:null}area(squareMeters,system=this.uiUnits.uiUnitLength){if(system===`metric`)return squareMeters<1e3?{val:squareMeters,unit:`sq m`}:{val:squareMeters*.001*.001,unit:`sq km`};if(system===`imperial`){let sqrYards=squareMeters*1.0936*1.0936;return sqrYards<1760?{val:sqrYards,unit:`sq yd`}:{val:sqrYards*568182e-9*568182e-9,unit:`sq mi`}}return null}temperature(x,system=this.uiUnits.uiUnitTemperature){switch(system){case`c`:return{val:x,unit:`°C`};case`f`:return{val:x*1.8+32,unit:`°F`};case`k`:return{val:x+273.15,unit:`K`};default:return null}}volume(x,system=this.uiUnits.uiUnitVolume){switch(system){case`l`:return{val:x,unit:`L`};case`gal`:return{val:x*.2642,unit:`gal`};default:return null}}pressure(x,system=this.uiUnits.uiUnitPressure){switch(system){case`inHg`:return{val:x*.2953,unit:`in.Hg`};case`bar`:return{val:x*.01,unit:`Bar`};case`psi`:return{val:x*.145038,unit:`PSI`};case`kPa`:return{val:x,unit:`kPa`};default:return null}}weight(x,system=this.uiUnits.uiUnitWeight){switch(system){case`kg`:return{val:x,unit:`kg`};case`lb`:return{val:2.20462262*x,unit:`lbs`};default:return null}}consumptionRate(x,system=this.uiUnits.uiUnitConsumptionRate){switch(system){case`metric`:return{val:1e5*x>5e4?`n/a`:1e5*x,unit:`L/100km`};case`imperial`:return{val:x===0?0:235*1e-5/x,unit:`MPG`};default:return null}}speed(x,system=this.uiUnits.uiUnitLength){switch(system){case`metric`:return{val:3.6*x,unit:`km/h`};case`imperial`:return{val:2.23693629*x,unit:`mph`};default:return null}}power(x,system=this.uiUnits.uiUnitPower){switch(system){case`kw`:return{val:.735499*x,unit:`kW`};case`hp`:return{val:x,unit:`PS`};case`bhp`:return{val:.98632*x,unit:`bhp`};default:return null}}torque(x,system=this.uiUnits.uiUnitTorque){switch(system===`metric`?system=`kg`:system===`imperial`&&(system=`lb`),system){case`kg`:return{val:x,unit:`Nm`};case`lb`:return{val:.7375621495*x,unit:`lb-ft`};default:return null}}energy(x,system=this.uiUnits.uiUnitEnergy){switch(system===`metric`?system=`j`:system===`imperial`&&(system=`ft lb`),system){case`j`:return{val:x,unit:`J`};case`ft lb`:return{val:.7375621495*x,unit:`ft lb`};default:return null}}date(x,system=this.uiUnits.uiUnitDate){switch(system){case`ger`:return x.toLocaleDateString(`de-DE`);case`uk`:return x.toLocaleDateString(`en-GB`);case`us`:return x.toLocaleDateString(`en-US`);default:return null}}beamBucks(x){return Intl.NumberFormat(this.userSettings.uiLanguage,{style:`decimal`,maximumFractionDigits:2,minimumFractionDigits:2}).format(+x)}},lite_default=class{constructor(){this.processing=!1,this.pending=0,this.finishCallback=null,this.angularRootScope=window.globalAngularRootScope,this.angularTimeout=null,this.angularTimeoutRetry=null,this.angularTimeoutWarned=!1,this.safetyTimeout=2e3,this.safetyTimer=null,this.warned=!1}setAngularRootScope(rootScope){this.angularRootScope=rootScope,this.angularTimeout=null,this.angularTimeoutRetry&&=(clearTimeout(this.angularTimeoutRetry),null)}getAngularTimeout(){if(this.angularTimeout!==null)return typeof this.angularTimeout==`function`?this.angularTimeout:null;let code;this.angularTimeoutRetry&&(code=`retry`,clearTimeout(this.angularTimeoutRetry));try{if(window.angular!==void 0&&window.angular.element){let injector=window.angular.element(document).injector();if(injector)return this.angularTimeout=injector.get(`$timeout`),this.angularTimeoutWarned&&console.log(`Stream Coordinator: Angular $timeout service resolved after retry`),this.angularTimeout;code=`no-injector`}else code=`no-angular`}catch{code=`error`}return this.angularTimeout=!1,this.angularTimeoutRetry||=setTimeout(()=>{this.angularTimeout||=null},5e3),console.warn(`Stream Coordinator: Angular $timeout service not available (${code})`),this.angularTimeoutWarned=!0,null}beforeBroadcast(){this.processing||(this.processing=!0,this.finishCallback=null,this.pending=0,this.safetyTimer&&clearTimeout(this.safetyTimer),this.safetyTimer=setTimeout(()=>{this.processing&&this.forceComplete()},this.safetyTimeout))}afterBroadcast(callback){if(callback&&typeof callback==`function`?this.finishCallback=()=>{this.finishCallback=void 0,Promise.resolve().then(callback)}:this.finishCallback=void 0,!this.processing){this.finishCallback?.();return}this.startDeferredWork()}startDeferredWork(){this.pending=0;let angularTimeout=this.getAngularTimeout();angularTimeout&&(this.angularRootScope||=window.globalAngularRootScope,this.angularRootScope&&(this.pending++,angularTimeout(()=>this.onOperationComplete(),0))),window.Vue?.nextTick&&(this.pending++,window.Vue.nextTick(()=>this.onOperationComplete())),this.pending===0&&(this.warned||(this.warned=!0,console.warn(`Stream Coordinator: No Angular $timeout() nor Vue.nextTick() detected, using only Promise microtask instead`)),this.complete())}onOperationComplete(){this.processing&&(this.pending--,this.pending<=0&&this.complete())}complete(){this.processing&&(this.safetyTimer&&=(clearTimeout(this.safetyTimer),null),Promise.resolve().then(()=>{this.processing=!1,window.beamng?.uiFrameCallback?.(),this.finishCallback?.()}))}forceComplete(){this.complete()}},dependencies,bridge$3;const useBridge=()=>{if(bridge$3)return bridge$3;if(window.bridge)return bridge$3=window.bridge;let events$3=new dependencies.Emitter,coordinator=new lite_default(events$3);Hooks_default.setStreamCoordinator(coordinator);let api$1=dependencies.overrideAPI||new BeamNGAPI_default(events$3,dependencies.beamng);return bridge$3={api:api$1,lua:Lua_default,events:events$3,streams:new StreamManager_default(api$1),coordinator,hooks:Hooks_default,units:new UIUnits_default(events$3,api$1),gameBlurrer:GameBlurrer_default,beamNG:dependencies.beamng},bridge$3},setBridgeDependencies=deps$1=>dependencies=deps$1;var DEBUG=1,INFO=2,WARN=4,ERROR=8,consoleLogMethods={[DEBUG]:`log`,[INFO]:`info`,[WARN]:`warn`,[ERROR]:`error`},consoleLogProvider={log(level$1,...msgs){level$1 in consoleLogMethods&&console[consoleLogMethods[level$1]](...msgs)}},level=14,providersInUse=[consoleLogProvider],STACK_TRACE=Symbol(`Stack trace`),_stackTrace=()=>`
`+Error().stack,_log=(lvl,...msgs)=>{level&lvl&&(msgs=msgs.map(msg=>msg===STACK_TRACE?_stackTrace():msg),providersInUse.forEach(p$1=>p$1.log&&p$1.log(lvl,...msgs)))},_assert=async(lvl,cond,...msgs)=>{level&lvl&&(cond?cond instanceof Promise?cond.then(res=>!res&&_log(lvl,...msgs)):typeof cond==`function`&&!await cond()&&_log(lvl,...msgs):_log(lvl,...msgs))},logger={DEBUG,INFO,WARN,ERROR,setProviders:(...providers)=>providersInUse=providers,set level(val){return level=val},get level(){return level},STACK_TRACE,log:(...msgs)=>_log(DEBUG,...msgs),debug:(...msgs)=>_log(DEBUG,...msgs),info:(...msgs)=>_log(INFO,...msgs),warn:(...msgs)=>_log(WARN,...msgs),error:(...msgs)=>_log(ERROR,...msgs),assert:(cond,...msgs)=>_assert(DEBUG,cond,...msgs),assertDebug:(cond,...msgs)=>_assert(DEBUG,cond,...msgs),assertInfo:(cond,...msgs)=>_assert(INFO,cond,...msgs),assertWarn:(cond,...msgs)=>_assert(WARN,cond,...msgs),assertError:(cond,...msgs)=>_assert(ERROR,cond,...msgs)};window.BNG_Logger=logger;var logger_default=logger;function warn(msg,err){typeof console<`u`&&(console.warn(`[intlify] `+msg),err&&console.warn(err.stack))}var inBrowser=typeof window<`u`,makeSymbol=(name,shareable=!1)=>shareable?Symbol.for(name):Symbol(name),generateFormatCacheKey=(locale,key,source)=>friendlyJSONstringify({l:locale,k:key,s:source}),friendlyJSONstringify=json=>JSON.stringify(json).replace(/\u2028/g,`\\u2028`).replace(/\u2029/g,`\\u2029`).replace(/\u0027/g,`\\u0027`),isNumber=val=>typeof val==`number`&&isFinite(val),isRegExp=val=>toTypeString(val)===`[object RegExp]`,isEmptyObject=val=>isPlainObject(val)&&Object.keys(val).length===0,assign$1=Object.assign,_create=Object.create,create=(obj=null)=>_create(obj),_globalThis,getGlobalThis=()=>_globalThis||=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:create();function escapeHtml(rawText){return rawText.replace(/&/g,`&`).replace(//g,`>`).replace(/"/g,`"`).replace(/'/g,`'`).replace(/\//g,`/`).replace(/=/g,`=`)}function escapeAttributeValue(value){return value.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,`&`).replace(/"/g,`"`).replace(/'/g,`'`).replace(//g,`>`)}function sanitizeTranslatedHtml(html){return html=html.replace(/(\w+)\s*=\s*"([^"]*)"/g,(_,attrName,attrValue)=>`${attrName}="${escapeAttributeValue(attrValue)}"`),html=html.replace(/(\w+)\s*=\s*'([^']*)'/g,(_,attrName,attrValue)=>`${attrName}='${escapeAttributeValue(attrValue)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(html)&&(html=html.replace(/(\s+)(on)(\w+\s*=)/gi,`$1on$3`)),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(pattern=>{html=html.replace(pattern,`$1javascript:`)}),html}var hasOwnProperty=Object.prototype.hasOwnProperty;function hasOwn(obj,key){return hasOwnProperty.call(obj,key)}var isArray$1=Array.isArray,isFunction=val=>typeof val==`function`,isString=val=>typeof val==`string`,isBoolean=val=>typeof val==`boolean`,isObject=val=>typeof val==`object`&&!!val,isPromise=val=>isObject(val)&&isFunction(val.then)&&isFunction(val.catch),objectToString=Object.prototype.toString,toTypeString=value=>objectToString.call(value),isPlainObject=val=>toTypeString(val)===`[object Object]`,toDisplayString$1=val=>val==null?``:isArray$1(val)||isPlainObject(val)&&val.toString===objectToString?JSON.stringify(val,null,2):String(val);function join(items$2,separator=``){return items$2.reduce((str,item,index)=>index===0?str+item:str+separator+item,``)}var isNotObjectOrIsArray=val=>!isObject(val)||isArray$1(val);function deepCopy(src,des){if(isNotObjectOrIsArray(src)||isNotObjectOrIsArray(des))throw Error(`Invalid value`);let stack$2=[{src,des}];for(;stack$2.length;){let{src:src$1,des:des$1}=stack$2.pop();Object.keys(src$1).forEach(key=>{key!==`__proto__`&&(isObject(src$1[key])&&!isObject(des$1[key])&&(des$1[key]=Array.isArray(src$1[key])?[]:create()),isNotObjectOrIsArray(des$1[key])||isNotObjectOrIsArray(src$1[key])?des$1[key]=src$1[key]:stack$2.push({src:src$1[key],des:des$1[key]}))})}}function createPosition(line,column,offset$2){return{line,column,offset:offset$2}}function createLocation(start,end,source){let loc={start,end};return source!=null&&(loc.source=source),loc}var CompileErrorCodes={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16},COMPILE_ERROR_CODES_EXTEND_POINT=17,errorMessages={[CompileErrorCodes.EXPECTED_TOKEN]:`Expected token: '{0}'`,[CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER]:`Invalid token in placeholder: '{0}'`,[CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:`Unterminated single quote in placeholder`,[CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE]:`Unknown escape sequence: \\{0}`,[CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE]:`Invalid unicode escape sequence: {0}`,[CompileErrorCodes.UNBALANCED_CLOSING_BRACE]:`Unbalanced closing brace`,[CompileErrorCodes.UNTERMINATED_CLOSING_BRACE]:`Unterminated closing brace`,[CompileErrorCodes.EMPTY_PLACEHOLDER]:`Empty placeholder`,[CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER]:`Not allowed nest placeholder`,[CompileErrorCodes.INVALID_LINKED_FORMAT]:`Invalid linked format`,[CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL]:`Plural must have messages`,[CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER]:`Unexpected empty linked modifier`,[CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY]:`Unexpected empty linked key`,[CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS]:`Unexpected lexical analysis in token: '{0}'`,[CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE]:`unhandled codegen node type: '{0}'`,[CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE]:`unhandled mimifier node type: '{0}'`};function createCompileError(code,loc,options={}){let{domain,messages,args}=options,msg=code,error=SyntaxError(String(msg));return error.code=code,loc&&(error.location=loc),error.domain=domain,error}function defaultOnError(error){throw error}var CHAR_SP=` `,CHAR_CR=`\r`,CHAR_LF=`
@/lua/ge/extensions/editor/sensorConfigurationEditor.lua
core_camera.setByName(0, "orbit", false)
be:enterVehicle(0, scenetree.findObject(vehicle.vid))
if i ~= selectedVehicleIdx then
@/lua/ge/extensions/editor/api/gui.lua
--TODO: remove any Canvas usage, maybe use imgui
if not canvasObject then canvasObject = scenetree.findObject("Canvas") end
return canvasObject:screenToClient(pt2i)
@/lua/ge/client/postFx/smaa.lua
local smaaStateBlock = scenetree.findObject("SMAA_StateBlock")
if not smaaStateBlock then
if not smaaStateBlock then
local pfxDefaultStateBlock = scenetree.findObject("PFX_DefaultStateBlock")
smaaStateBlock = createObject("GFXStateBlockData")
local smaaEdgeDetectionShaderData = scenetree.findObject("SMAA_EdgeDetectionShaderData")
if not smaaEdgeDetectionShaderData then
local smaaBlendingWeightShaderData = scenetree.findObject("SMAA_BlendingWeightShaderData")
if not smaaBlendingWeightShaderData then
local smaaNeighborhoodBlendingShaderData = scenetree.findObject("SMAA_NeighborhoodBlendingShaderData")
if not smaaNeighborhoodBlendingShaderData then
-- log('I', 'smaaPostEffect', 'onEnabled called for smaaPostEffect')
local fxaa_postfx = scenetree.findObject("FXAA_PostEffect")
if fxaa_postfx then
smaaPostEffectCallbacks.preProcess = function()
local smaaPostEffect = scenetree.findObject("SMAA_PostEffect")
if smaaPostEffect then
smaaPostEffect:setShaderMacro("SMAA_RT_METRICS", rtResolution)
local smaaPostEffect1 = scenetree.findObject("SMAA_PostEffect1")
if smaaPostEffect1 then
end
local smaaPostEffect2 = scenetree.findObject("SMAA_PostEffect2")
if smaaPostEffect2 then
local smaaPostEffect = scenetree.findObject("SMAA_PostEffect")
if not smaaPostEffect then
@/lua/ge/extensions/gameplay/garageMode.lua
local spawnPointName = levelInfo.spawnPoints[1].objectname
local spawnPoint = scenetree.findObject(spawnPointName)
if spawnPoint then
local function hideGroup(groupName, hidden)
local group = scenetree.findObject(groupName)
if group then setHiddenRec(group, hidden) end
@/lua/ge/extensions/scenario/busdriver.lua
exitTggBeforeTimer = false
local playerVehicle = scenetree.findObject(playerInstance)
if playerVehicle then
local st = computeStats(stats)
local playerVehicle = scenetree.findObject(playerInstance)
statistics_statistics.initialiseArbitraryStat( "busDamage", "ui.stats.damage", playerVehicle, playerInstance, 100, 100)
busConfig = scenario_scenarios.getScenario().busdriver
local playerVehicle = scenetree.findObject(playerInstance)
if playerVehicle then
for k,v in pairs(nameMarkers) do
local mk = scenetree.findObject(v)
if mk == nil then
if running then
local playerVehicleID = scenetree.findObject(playerInstance):getID()
if vehicleID == playerVehicleID and damaged then
-- stop distance rating
local busStop = scenetree.findObject(nextStop[1])
local busStopPos = vec3(busStop:getPosition())
local trigger = scenetree.findObject(nextStop[1])
if not trigger.bidirectional and not isRightNode(vec3Destination, firstDest, secondDest) then
local yVec = tr*vec3(0,1,0)
local trigger = scenetree.findObject(nextStop[1])
trigger = Sim.upcast(trigger)
@/lua/ge/extensions/campaign/exploration.lua
if FS:fileExists(prefabPath) then
if not scenetree.findObject(prefabName) then
local prefabObj = spawnPrefab(prefabName, prefabPath, '0 0 0', '0 0 1', '1 1 1')
local ExplorationMissionUI = scenetree.findObject("ExplorationMissionUIActionMap")
if ExplorationMissionUI then
@/lua/ge/extensions/trackbuilder/trackBuilder.lua
if saveSettings.azimuthValue[0] ~=0 then
-- local sky = scenetree.findObject("sunsky")
-- local azi= sky:getAzimuth()
for i, matName in pairs(materials.matNames) do
table.insert( materialSettings.materials.center, scenetree.findObject(matName .. 'center') )
table.insert( materialSettings.materials.border, scenetree.findObject(matName .. 'border') )
table.insert( materialSettings.materials.center, scenetree.findObject(matName .. 'center') )
table.insert( materialSettings.materials.border, scenetree.findObject(matName .. 'border') )
obstacleMatNames[#obstacleMatNames+1] = matName..'border'
@/lua/ge/extensions/editor/createObjectTool.lua
local grp = scenetree.findObject("PlayerDropPoints")
local grp = scenetree.findObject("ObserverDropPoints")
registerBuildFuncField(obj:getClassName(), "emitter", 0, "BNGP_1")
obj:setEmitterDataBlock(scenetree.findObject("BNGP_1"))
return true
@/lua/ge/extensions/core/cameraModes/observer.lua
local cam = scenetree.findObject(self.cameraName)
if not cam then
if self.targetOverride then
local targetObject = scenetree.findObject(self.targetOverride)
if targetObject then
@/lua/common/jbeam/loader.lua
if vmType == 'game' then
vehicleObj = scenetree.findObject(objID)
if not vehicleObj then
@/lua/ge/extensions/flowgraph/nodes/gfx/dof.lua
function C:updateSettings()
local dofPostEffect = scenetree.findObject("DOFPostEffect")
if dofPostEffect and dofPostEffect.updateDOFSettings then
@/lua/ge/client/postFx/turbulence.lua
local pfxTurbulenceStateBlock = scenetree.findObject("PFX_TurbulenceStateBlock")
if not pfxTurbulenceStateBlock then
if not pfxTurbulenceStateBlock then
local pfxDefaultStateBlock = scenetree.findObject("PFX_DefaultStateBlock")
pfxTurbulenceStateBlock = createObject("GFXStateBlockData")
local pfxTurbulenceShader = scenetree.findObject("PFX_TurbulenceShader")
if not pfxTurbulenceShader then
local turbulenceFx = scenetree.findObject("TurbulenceFx")
if not turbulenceFx then
@/lua/ge/extensions/core/vehicle/manager.lua
if not vehicleObj or not _vehicleBundle then
vehicleObj = scenetree.findObject(objID)
if not vehicleObj then return end
profilerPushEvent('spawn')
local vehicleObj = scenetree.findObject(objID)
if not vehicleObj then
@/lua/ge/extensions/core/groundMarkerArrows.lua
-- Clean up the pool if it exists
local arrowPool = scenetree.findObject("arrowPool")
if arrowPool then
local function createArrowPool(floatingArrowColor)
local group = scenetree.findObject("arrowPool")
if not group then
@/lua/ge/extensions/editor/terrainAndRoadImporter.lua
-- Remove any folders.
local folder = scenetree.findObject(folderName)
if folder then
@/lua/ge/extensions/util/resaveMaterials.lua
for _, objName in ipairs(objs) do
local o = scenetree.findObject(objName)
if o then
@/lua/ge/extensions/scenario/positionGoal.lua
for _,instance in ipairs(M.instances) do
local endobj = scenetree.findObject(instance.value.endPoint)
if not endobj then
@/lua/ge/map.lua
for _, nodeName in ipairs(scenetree.findClassObjects('BeamNGWaypoint')) do
local o = scenetree.findObject(nodeName)
if o and (not o.excludeFromMap) and mapNodes[nodeName] == nil then
for _, decalRoadName in ipairs(scenetree.findClassObjects('DecalRoad')) do
local road = scenetree.findObject(decalRoadName)
if road and road.drivability > 0 then
local terrain = scenetree.findObject(scenetree.findClassObjects('TerrainBlock')[1])
local terrainPosition = vec3(terrain:getPosition())
local v = scenetree.findObject(args.subjectName)
local nextTrigger = scenetree.findObject(triggerName .. (triggerNum + 1))
local v = scenetree.findObject(args.subjectName)
local nextTrigger = scenetree.findObject(triggerName .. (triggerNum + 1))
if args.subject and nextTrigger then
-- Wrapper function for spawn.safeTeleport()
local veh = scenetree.findObject(vehId)
--local veh = getObjectByID(id)
@/lua/ge/extensions/editor/forestEditor.lua
for _, id in ipairs(objNames) do
local obj = scenetree.findObject(id)
if obj then
for _, id in ipairs(objNames) do
local obj = scenetree.findObject(id)
if obj then
for k, forestItemDataId in ipairs(forestItemDataNames) do
local cobj = scenetree.findObject(forestItemDataId)
if cobj then
-- ForestBrushGroup
var.forestBrushGroup = scenetree.findObject("ForestBrushGroup")
if not var.forestBrushGroup then
for _, id in ipairs(forestBrushElementIds) do
local fbe = scenetree.findObject(id)
if fbe then
--TODO: should we do this every frame ?
var.forestBrushGroup = scenetree.findObject("ForestBrushGroup")
local forestItemData = scenetree.findObject(var.selectedForestItemDatas[1].id)
if forestItemData then
@/lua/ge/spawn.lua
local spawnDatablock = "default_vehicle"
local dataBlock = scenetree.findObject(spawnDatablock)
local i = 0
while scenetree.findObject(vehicleName) do
vehicleName = "clone" .. tostring(i)
if defaultSpawnPoint then
local spawnPoint = scenetree.findObject(defaultSpawnPoint)
if spawnPoint then
for i,v in pairs(spawnDefaultGroups) do
if scenetree.findObject(spawnDefaultGroups[i]) then
local spawngroupPoint = scenetree.findObject(spawnDefaultGroups[i]):getRandom()
if scenetree.findObject(spawnDefaultGroups[i]) then
local spawngroupPoint = scenetree.findObject(spawnDefaultGroups[i]):getRandom()
if not spawngroupPoint then
]]
local dps = scenetree.findObject("DefaultPlayerSpawnSphere")
if dps then
end
playerSP.dataBlock = scenetree.findObject('SpawnSphereMarker')
if spawnName == "player" then
-- Set the control object to the default camera
local cam = scenetree.findObject("gameCamera")
if not cam then
cam = createObject('Camera')
cam.dataBlock = scenetree.findObject("Observer")
cam:registerObject("gameCamera")
]]
if spawnPoint.spawnDatablock and scenetree.findObject(spawnPoint.spawnDatablock) then
spawnDatablock = spawnPoint.spawnDatablock
@/lua/ge/extensions/freeroam/specialTriggers.lua
for _, o in ipairs(obj:getObjects()) do
setState(tonumber(o) or scenetree.findObject(o):getID(), state)
end
for k, _ in pairs(triggers[key].objects) do
if scenetree.findObject(k) then
setGroupState(scenetree.findObject(k):getID(), state)
if scenetree.findObject(k) then
setGroupState(scenetree.findObject(k):getID(), state)
end
for k, v in pairs(triggers[key].objects) do
local obj = scenetree.findObject(k)
if obj then
for _, o in ipairs(obj:getObjects()) do
local obj = scenetree.findObjectById(tonumber(o) or scenetree.findObject(o):getID())
if obj:getGroup():getName() == k and obj:getClassName() ~= 'SimGroup' then
for _, o in ipairs(obj:getObjects()) do
local obj = scenetree.findObjectById(tonumber(o) or scenetree.findObject(o):getID())
if obj:getGroup():getName() == k and obj:getClassName() == 'SimGroup' then
if obj and v.stack > 0 then
obj = scenetree.findObject(name)
local delay = v.active and data.enterDelay or data.exitDelay
for _, o1 in ipairs(innerObjects) do
local obj1 = scenetree.findObjectById(tonumber(o1) or scenetree.findObject(o1):getID())
if obj1 and obj1:getGroup():getName() == name and obj1:getClassName() == 'SimGroup' then
if o2 then
setState(tonumber(o2) or scenetree.findObject(o2):getID(), v.active)
end
if innerObjects[idx] then -- processes the next object
setState(tonumber(innerObjects[idx]) or scenetree.findObject(innerObjects[idx]):getID(), v.active)
end
@/lua/ge/client/postFx.lua
local pfxDefaultStateBlock = scenetree.findObject("PFX_DefaultStateBlock")
if not pfxDefaultStateBlock then
local pfxDefaultBlendStateBlock = scenetree.findObject("PFX_DefaultBlitStateBlock")
if not pfxDefaultBlendStateBlock then
local pfxPassthruShader = scenetree.findObject("PFX_PassthruShader")
if not pfxPassthruShader then
local alFormatBlend = scenetree.findObject("AL_FormatBlit")
if not alFormatBlend then
alFormatBlend.shader = "PFX_PassthruShader"
alFormatBlend.stateBlock = scenetree.findObject("PFX_DefaultBlitStateBlock")
alFormatBlend.texture = "$inTex"
-- SSAO, HDR, LightRays, DOF
local dof = scenetree.findObject("DOFPostEffect")
local ssao = scenetree.findObject("SSAOPostFx")
local dof = scenetree.findObject("DOFPostEffect")
local ssao = scenetree.findObject("SSAOPostFx")
local lightRay = scenetree.findObject("LightRayPostFX")
local ssao = scenetree.findObject("SSAOPostFx")
local lightRay = scenetree.findObject("LightRayPostFX")
local hdrPostFx = scenetree.findObject("HDRPostFx")
local lightRay = scenetree.findObject("LightRayPostFX")
local hdrPostFx = scenetree.findObject("HDRPostFx")
@/lua/ge/extensions/editor/biomeTool.lua
local function populateForestBrushes()
var.forestBrushGroup = scenetree.findObject("ForestBrushGroup")
var.forestBrushes = {}
for _, id in ipairs(forestBrushElementIds) do
local fbe = scenetree.findObject(id)
if fbe then
for k, forestItemDataId in ipairs(forestItemDataNames) do
local cobj = scenetree.findObject(forestItemDataId)
if cobj then
@/lua/ge/extensions/ui/liveryEditor/editor.lua
local function toggleVehicleControls(enable)
local commonActionMap = scenetree.findObject("VehicleCommonActionMap")
if commonActionMap then
local specificActionMap = scenetree.findObject("VehicleSpecificActionMap")
if specificActionMap then
@/lua/ge/client/postFx/caustics.lua
local pfxCausticsStateBlock = scenetree.findObject("PFX_CausticsStateBlock")
if not pfxCausticsStateBlock then
if not pfxCausticsStateBlock then
local pfxDefaultStateBlock = scenetree.findObject("PFX_DefaultStateBlock")
pfxCausticsStateBlock = createObject("GFXStateBlockData")
local pfxCausticsShader = scenetree.findObject("PFX_CausticsShader")
if not pfxCausticsShader then
local causticsPFX = scenetree.findObject("CausticsPFX")
if not causticsPFX then
@/lua/ge/extensions/editor/vehicleBridgeTest.lua
if im.Selectable1(vname.."##"..i) then
vehId = scenetree.findObject(vname):getID()
end
@/lua/ge/extensions/gameplay/markers/parkingMarker.lua
self:clearObjects()
iconRendererObj = scenetree.findObject(iconRendererName)
if not iconRendererObj then
if self.iconRendererId then
iconRendererObj = scenetree.findObject(self.iconRendererId)
if iconRendererObj and self.iconInfo then
if self.iconRendererId then
iconRendererObj = scenetree.findObject(self.iconRendererId)
if iconRendererObj and self.iconId then