VE Lua Documentation

Press F to search!

print

Definition


-- @/lua/vehicle/main.lua:13

print = function(...)
  log("A", "print", tostring(...))
  -- log('A', "print", debug.traceback()) -- find where print is used
end

Callers

@/lua/ge/extensions/core/settings/graphic.lua
    set = function ( value )
      --print("*************LightRayPostFX 2 set")
      local LightRayPostFX = scenetree.findObject("LightRayPostFX")
    set = function ( value )
      --print("********PostFXSSAOGeneralEnabled 2 set") --not tested
      TorqueScriptLua.setVar( '$SSAOPostFx::Enable', value )
@/lua/vehicle/powertrain/dctGearbox.lua

  -- print(string.format("volIn - %0.2f / volOut - %0.2f / ptchIn - %0.2f / ptchOut - %0.2f / inLoad - %0.2f / outLoad - %0.2f", volumeInput, volumeOutput, pitchInput, pitchOutput, inputLoad, outputLoad))
end
@/lua/ge/extensions/tech/platoonFunctions.lua
local function getVehicleIndex(leaderID, vehicleID)
  print("getting vehicle Index of platoon: "..leaderID.." of vehicle's"..vehicleID)
  if platoons[leaderID] then
  if platoons[leaderID] then
    -- print("in if in getVehiclesIndex")
    local vehicles = platoons[leaderID].vehicles
  else
    -- print("Platoon with leader ID " .. leaderID .. " does not exist in getVehicleOdx function.")
    -- return nil
  else
    -- print("Platoon with leader ID " .. leaderID .. " does not exist.")
  end
  else
    -- print("Platoon with leader ID " .. leaderID .. " does not exist.")
  end
  vehicleInfront = platoons[leaderID].vehicles[vehicleIndex-1]
  print("vehicleID infront: "..vehicleInfront)
  local mailBoxNameVehicleInfront = "vehicleInfront"..vid
  local platoon = platoons[oldleaderID]
  print(platoon)
  --checking if the platoon exists
      table.remove(platoon.ultrasonics,1)
      -- print("newLeader: "..newLeader)
      createPlatoon(newLeader)
    else
      -- print("ending platoon for NFSA here to implement")
    end
  loaded = true
  print("loading")
  local ultrasonicArgs = {requestedUpdateTime = 0.1, isVisualised = true}
  local ultrasonicIDLeader = extensions.tech_sensors.createUltrasonic(leaderID,ultrasonicArgs)
  print("vehicle: "..leaderID.." ultrasonicID: "..ultrasonicIDLeader)
  createPlatoon(leaderID, ultrasonicIDLeader)
  be:sendToMailbox(mailBoxName, lpack.encodeBinWorkBuffer(leaderID))
  print("vehicle: "..vid.." ultrasonicID: "..ultrasonicID)
  addVehicleToPlatoon(leaderID,vid,ultrasonicID)
  vehicleIndex = getVehicleIndex(leaderID, vid)
  print("vid: "..vid.." vehicleIndex: "..vehicleIndex)
  getRelayVehiclesID(leaderID, vehicleIndex) --send it to the mailbox of the vehicle to be able to calulate the distance ahead
  local ultrasonicID = extensions.tech_sensors.createUltrasonic(vid,ultrasonicArgs)
  print("vehicle: "..vid.." ultrasonicID: "..ultrasonicID)
  addVehicleToPlatoon(leaderID,vid,ultrasonicID)
  printPlatoons()
  print("joining function ".."leaderID: "..leaderID.." followerID: "..vid)
  local ACCFunctionCall = "extensions.tech_platooning.joinPlatoon("..leaderID..","..vid..","..speed..")"
  launched = true
  print("Launched "..speed)
  local launchFunctonCall = "extensions.tech_platooning.launchPlatoon("..leaderID..","..leaderMode..","..speed..")"
  local newLeaderID = platoons[leaderID].vehicles[2] --NFSA getting the new LeaderID
  print("newLeader NFSA: "..newLeaderID)
  local leaderExitFunctionCall = "extensions.tech_platooning.leaderExitPlatoon("..leaderID..")" --old leader exiting the platoon
  changePlatoonLeaderID(leaderID) -- NFSA changing the new LeaderID in the DB
  print(printPlatoons())
  local vehiclesList = platoons[newLeaderID].vehicles
      local mailBoxName = "currentLeader"..vehicle
      print(type(vehicle))
      be:sendToMailbox(vehicle, lpack.encodeBinWorkBuffer(i))
@/lua/ge/extensions/editor/vehicleEditor/staticEditor/veJBeamBeautifier.lua
  end
  print('Done!')
end
@/lua/ge/extensions/flowgraph/builder.lua
function C:Begin(nodeID)
  --print('------------------- ' .. tostring(nodeID))
  self.HasHeader  = false

  --print(' SetStage = ' .. tostring(oldStage) .. ' -> ' .. tostring(stage))
    local endPos = im.GetCursorPos()
    --print("...")
    --dump(self.inputBeginPos.y)
@/lua/common/luaProfiler.lua
    log("E", "", "luaProfiler: Missing start")
    print(debug.tracesimple())
    return
@/lua/ge/extensions/gameplay/statisticModules/watchRollover.lua
  end
  -- print( dumps(vup.z).."\t"..dumps(vdir:dot(velocity)) .."\ttr="..dumps(triggered) )
end
@/lua/vehicle/controller/advancedCouplerControl.lua
local function init(jbeamData)
  --print(M.name)
  --dump(jbeamData)
@/lua/vehicle/powertrain/hydraulicPump.lua
  if device.hydraulicPTOConsumerCouplerNodeLookup[nodeId] then
    --print("we are supply")
    --initialize the reported pressure and flow to 0, flow is then constantly updated from the consumer via the coupler and pressure by us
@/ui/entrypoints/main/main.js
      bngApi.engineLua("core_gamestate.requestGameState()")
      // bngApi.engineLua('print("requesting gamestate here and now")')
@/lua/ge/extensions/gameplay/rally/notebook/missionSettings.lua
--   self.drivelineMode = drivelineMode
--   print('setDrivelineMode: '..tostring(drivelineMode))
--   self:write()
@/lua/ge/extensions/career/modules/delivery/cargoScreen.lua
M.setCargoScreenTab = function(tab)
    --print("cargo tab -> " .. dumps(tab))
    cargoOverviewTab = tab
    dParcelManager.clearTransientMoveForCargo(cargo.id)
    print("deleting " .. cargo.id)
  end
    function(data)
      print(data)
      local maxDelay = 0
    end
    --print(cargo.name .. " -> ")
    --dump(target)
  for cardId, card in pairs(cardsById) do
    --print("Card Id: " .. cardId)
    for bigMapId, _ in pairs(card.bigMapIds or {}) do
    for bigMapId, _ in pairs(card.bigMapIds or {}) do
      --print("  -> " ..bigMapId)
      visibleBigMapIdsToCardIds[bigMapId] = visibleBigMapIdsToCardIds[bigMapId] or {cardIds = {}}
@/lua/ge/extensions/util/inputSystemUtils.lua

  print(tostring(bindingCount) .. ' total bindings')
  local tblLen = math.min(#sortedActions, 20)
  print('top ' .. tostring(tblLen) .. ' actions:')
  for n = 1, tblLen do
  for n = 1, tblLen do
    print(' * ' .. sortedActions[n][1] .. ' - ' .. tostring(sortedActions[n][2]))
  end
      if not isValidVIdPId(info.vidpid) then
        --print('invalid vid/pid: ' .. tostring(info.vidpid))
        info.vidpid = nil
        writeFile(filepath, jsonFinal)
        print('Resaved ' .. tostring(filepath))
      else
      else
        print(tostring(filepath) .. ' - no changes needed')
      end
  end
  print('done')
end
@/lua/common/graphpath.lua

print( table.concat( gp:getPath("a","e"), "->") )
]]
@/lua/ge/extensions/core/levels.lua
    previewCache[lowerLevelName] = preview
    print(string.format("getLevelPreview: %s -> %s", levelName, preview or "nil"))
    return preview
  previewCache[lowerLevelName] = nil
  print(string.format("getLevelPreview: %s -> nil", levelName))
  return nil
@/lua/common/libs/LuaJIT/zone.lua
--     ...
--     print(zone:get()) --> "A*"
--     ...
--   ...
--   print(zone:get()) --> "AI"
--   ...
@/lua/common/libs/LuaIRC/init.lua
        if (print_r_cache[tostring(t)]) then
            print(indent.."*"..tostring(t))
        else
                    if (type(val)=="table") then
                        print(indent.."["..pos.."] => "..tostring(t).." {")
                        sub_print_r(val,indent..string.rep(" ",string.len(pos)+8))
                        sub_print_r(val,indent..string.rep(" ",string.len(pos)+8))
                        print(indent..string.rep(" ",string.len(pos)+6).."}")
                    elseif (type(val)=="string") then
                    elseif (type(val)=="string") then
                        print(indent.."["..pos..'] => "'..val..'"')
                    else
                    else
                        print(indent.."["..pos.."] => "..tostring(val))
                    end
            else
                print(indent..tostring(t))
            end
    if (type(t)=="table") then
        print(tostring(t).." {")
        sub_print_r(t,"  ")
        sub_print_r(t,"  ")
        print("}")
    else
    end
    print()
end
    else
        print('unknown command: ' .. tostring(cmd) .. ' : ')
        print_r(params)
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veNodeTriSelfCollisionDetector.lua
        local triText = string.format("%s - %s - %s", triNode1Text, triNode2Text, triNode3Text)
        print(string.format("Node %s is colliding with triangle %s at distance %.3f m", nodeText, triText, dist))
      end
@/lua/ge/extensions/core/settings/settings.lua
    --log("W", "", "This call to save() settings is being ignored, because it is flagged as a recursive call via 'M.loadingSettingsInProgress'. This should not happen, please review callstack below:")
    --print(debug.tracesimple())
    return
    --log("W", "", "This call to save() settings is being ignored, because it is flagged as a recursive call via 'alreadySaving'. This should not happen, please review callstack below:")
    --print(debug.tracesimple())
    return
  values.uiLanguage = values.userLanguageSelected
  --print(' * userLanguageSelected: ' .. tostring(values.userLanguageSelected) .. ' [' .. tostring(values.userLanguageSelectedLong) .. ']')
  end
  --print(' * languagesAvailable: ' .. dumps(options.userLanguagesAvailable))
  values.languageOSLong = languageMap.resolve(values.languageOS)
  --print(' * languageOS: ' .. tostring(values.languageOS) .. ' [' .. tostring(values.languageOSLong) .. ']')
  values.languageProvider = Lua:getSteamLanguage()
  values.languageProviderLong = OnlineServiceProvider and OnlineServiceProvider.language or ""
  --print(' * languageProvider: ' .. tostring(values.languageProvider) .. ' [' .. tostring(values.languageProviderLong) .. ']')
  appliedLanguage = Lua:getSelectedLanguage()
  --print(' - languageChanged >> ' .. tostring(languageChanged) .. ' | "' .. tostring(Lua:getSelectedLanguage()) .. '" ~= ' .. tostring(oldLanguage))
    --log("W", "", "This call from setState to save() settings is not even attempted, because it is flagged via 'M.loadingSettingsInProgress' as a recursive call. This should not happen, please review callstack below:")
    --print(debug.tracesimple())
  end
    --log("W", "", "This call to setValue() settings is being ignored, because it is flagged as a recursive call via 'M.settingInProgress["..dumps(key).."]'. This should not happen, please review callstack below:")
    --print(debug.tracesimple())
    return
@/lua/vehicle/controller/hydraulics/hydraulicTrailerFeet.lua
  end
  --print(string.format("Detached: %.2f, attached: %.2f, current: %.2f", detachedPosition, attachedPosition, currentPosition))
end
@/lua/vehicle/controller/vehicleController/shiftLogic/cvtGearbox2.lua
    else
      print("unknown auto mode: " .. mode)
    end
@/lua/vehicle/extensions/tech/CANBus/ProjectBavariaController.lua
  if not virtualInputDeviceInstance then
    print("no virtual device...")
    return
local function applyButtonInputs(buttonType, buttonState)
  --print(buttonTypeLookup[buttonType] .. " -> " .. buttonStateLookup[buttonState])
local function applyDialInputs(dialPosition)
  --print("Dial: " .. dialPosition)
  local button = dialPosition > lastDialPosition and "dialCW" or "dialCCW"
@/lua/ge/extensions/editor/gen/ui.lua
reload()
--print('=??????????????????? in_UI:')
M.inject = function(olib)
--		print('?? UI.inject:')
	if olib.U then
		U = olib.U
--		print('??******** UI.inject:'..U._MODE..':'..U.out._MODE)
	end
	cforest = W.ifForest()
--		if cforest then print('??*************** UI.if_CFOR:'..tostring(cforest)) end
	local desc = W.forDesc()
	local insector = W.out.Ter and W.out.Ter.out.insector
--		print('?? if_LAT:'..tostring(editor.beginWindow('LAT', 'WIP_Landscape_Gen')))
--				M.tree2ui(HTreeTer)
--				print('?? help ter')
			else
				nil, nil, 'MultiSelectButton') then
--				print('?? res_CLICK:')
				env.onVal('scale_reset')
]]
--				print('?? for_ML:'..tostring(mlist and #mlist or nil)..':'..tostring(meshType))
--            im.
					elseif cforest then
--							print('?? UI_cfor:'..tostring(cforest)..':'..tostring(W.ifForest({'gutter'})))
--					elseif W.ifForest() then
						elseif W.ifForest({'win'}) then
--								print('?? UI_win:')
--							im.Unindent(6)
@/lua/ge/extensions/scenario/raceDebug.lua
      if lastwp then
        --print("path from '" .. lastwp .. "' to '".. wp .. "':")
        local path = map.getPath(lastwp, wp)
      if lastwpd then
        --print(" route: " .. tostring(lastwpdStr) .. " -> " .. tostring(wp))
        local col = ColorF(0,1,0,0.6)
@/lua/ge/extensions/tech/techCore.lua
M.handleLoadPlatoon = function(request)
  print("loading in techCore gelua")
  log('I', 'techCore', ' Received LoadPlatoon request')
      leader = v:getID()
      print("leader: "..leader)
    elseif v:getName() == request.follower1ID then
      follower1 = v:getID()
      print("follower 1: "..follower1)
    elseif v:getName() == request.follower2ID then
      follower2 = v:getID()
      print("follower2: "..follower2)
    elseif v:getName() == request.follower3ID then
      follower3 = v:getID()
      print("follower3: "..follower3)
    end

    print("name: "..v:getName())
    print("ID: "..v:getID())
    print("name: "..v:getName())
    print("ID: "..v:getID())
  end

  print("leader: "..leader.." follower1: "..follower1.."follower2: "..follower2.." speed: "..speed)
  extensions.tech_platoonFunctions.loadWithID(leader, follower1, speed)
  if follower3 ~= nil then
    -- print("3rd vehicle")
    extensions.tech_platoonFunctions.joinWithID(leader, follower3, speed)
  else
    -- print("no follower3: ")
  end
M.handlePlatoonSpeed = function(request)
  print("loading in techCore gelua")
  log('I', 'techCore', ' Received PlatoonSpeed request')
      leader = v:getID()
      print("leader: "..leader)
    end

    print("name: "..v:getName())
    print("ID: "..v:getID())
    print("name: "..v:getName())
    print("ID: "..v:getID())
  end

  print("leader: "..leader.." speed: "..speed)
  extensions.tech_platoonFunctions.launchPlatoon(leader, mode, speed)
M.handleJoinPlatoon = function(request)
  print("joining in techCore gelua")
  log('I', 'techCore', ' Received joinPlatoon request')

    print("name: "..v:getName())
    print("ID: "..v:getID())
    print("name: "..v:getName())
    print("ID: "..v:getID())
  end

  print("leader: "..leader.." follower: "..follower.." speed: "..speed)
  extensions.tech_platoonFunctions.joinWithID(leader, follower, speed)
M.handleJoinMiddlePlatoon = function(request)
  print("joining in techCore gelua")
  log('I', 'techCore', ' Received joinPlatoon request')

    print("name: "..v:getName())
    print("ID: "..v:getID())
    print("name: "..v:getName())
    print("ID: "..v:getID())
  end

  print("leader: "..leader.." follower: "..follower.." speed: "..speed)
  extensions.tech_platoonFunctions.joinInBetween(leader, relay, follower, speed)
M.handleLeavePlatoon = function(request)
  print("leaving in techCore gelua")
  log('I', 'techCore', ' Received joinPlatoon request')

    print("name: "..v:getName())
    print("ID: "..v:getID())
    print("name: "..v:getName())
    print("ID: "..v:getID())
  end

  print("leader: "..leader.." follower: "..follower)
  extensions.tech_platoonFunctions.leavePlatoon(leader, follower)
@/lua/ge/extensions/editor/ffiptrleaktest.lua
-- --M.onEditorRegisterPreferences = onEditorRegisterPreferences
-- M.onEditorToolWindowHide = function(wndName) print("Tool window was closed: ".. wndName) end
-- M.onEditorToolWindowShow = function(wndName) print("Tool window was opened: ".. wndName) end
-- M.onEditorToolWindowHide = function(wndName) print("Tool window was closed: ".. wndName) end
-- M.onEditorToolWindowShow = function(wndName) print("Tool window was opened: ".. wndName) end
-- M.onEditorInspectorFieldChanged = onEditorInspectorFieldChanged
@/lua/ge/extensions/editor/rallyEditor/testTab.lua
function C:test1()
  print('-- test1 --------------------------------------------------------')
  local pnName = self.path:getRandomSystemPacenote('firstnoteintro')
  print(tostring(pnName))
  pnName = self.path:getRandomSystemPacenote('firstnoteoutro')
  print(tostring(pnName))
  pnName = self.path:getRandomSystemPacenote('finish')
  print(tostring(pnName))
end
@/lua/vehicle/powertrain/electricServo.lua
  end
  --print(string.format("Wanted: %.2f, used %.2f instead, current angle: %.2f", math.deg(angle), math.deg(device.targetAngle), math.deg(device.currentAngle)))
end

    --print(device.connectedWheel.." Hub-Axis: "..axisInertia.." kgm²")
    outputInertia = axisInertia
@/lua/ge/extensions/editor/gen/exp_meshexplorer.lua
    --        local anode = editor.getNodes(obj)
    --            print('?? NODES:'..tostring(obj.vehId))
        end
--            binstr = ffi.string(vertices) --dataString:get())
--                print('?? CHAR:'..string.byte(binstr, 3)) -- string.len(binstr)))
--                print('?? CHAR:'..string.char(string.byte(binstr, 1, 100))) -- string.len(binstr)))
--                print('?? CHAR:'..string.byte(binstr, 3)) -- string.len(binstr)))
--                print('?? CHAR:'..string.char(string.byte(binstr, 1, 100))) -- string.len(binstr)))
--            local s = dataString:tostring()
--    wnm = lbl --'EXP_'..ind
--        print('?? if_REG:'..wnm..':'..tostring(editor.isWindowRegistered(wnm)))
    if not editor.isWindowRegistered(wnm) then
    wnm = 'EXP_'..'1'
--        print('?? if_REG:'..wnm..':'..tostring(editor.isWindowRegistered(wnm)))
    if not editor.isWindowRegistered(wnm) then
        else
--                print('?? NO_WIN:')
            W.out.up = nil
@/lua/ge/extensions/flowgraph/pin.lua
      log("E", "", "Duplicate ID error! Pin")
      print(debug.tracesimple())
    end
        key = '_value'
        --print('> > > > > KEY: ' .. tostring(key))
        if tbl.id == GlobTrackingId then
          print("Changin Pin value to " .. tostring(value))
          print(debug.tracesimple())
          print("Changin Pin value to " .. tostring(value))
          print(debug.tracesimple())
        end
@/lua/ge/extensions/gameplay/markerInteraction.lua
log("E","","Deprecated startMissionById")
  print(debug.tracesimple())
end
  log("E","","Deprecated stopMissionById")
  print(debug.tracesimple())
end
  log("E","","Deprecated changeUserSettings")
  print(debug.tracesimple())
end
  end
  --print("Force forceReevaluateOpenPrompt " .. dumps(forceReevaluateOpenPrompt))
  forceReevaluateOpenPrompt = false
@/lua/vehicle/partCondition.lua
              table.insert(partTypeTags[devicePartId], "powertrainDevice:" .. deviceName)
            --print(string.format("%s -> %s:%s", devicePartId, deviceType, deviceName))
            end
              table.insert(partTypeTags[storagePartId], "energyStorage:" .. storageName)
            --print(string.format("%s -> %s:%s", storagePartId, storageType, storageName))
            end
        if v.radiatorArea and not v.inertia then --look for the radiator part
          --print(string.format("%s -> %s:%s", partId, k, "radiator"))
          partTypeTags = partTypeTags or {}
        elseif v.torqueModExhaust and not v.inertia then --look for the exhaust part
          --print(string.format("%s -> %s:%s", partId, k, "exhaust"))
          partTypeTags = partTypeTags or {}
          table.insert(partTypeTags[partId], string.format("powertrainDevice:%s:%s", k, "turbocharger"))
        --print(string.format("%s -> %s:%s", partId, k, "turbocharger"))
        end
@/lua/ge/extensions/core/repository.lua
local function uiUpdateQueue()
  --print("uiUpdateQueue")
  local data = {}
    end
    --print("EXISTS: " .. tostring(FS:fileExists(r.outfile)))
    if not FS:fileExists(r.outfile) then
      end
      --print("updmods = "..dumps(updmods))
      core_online.apiCall('s2/v4/modUpdateSuccess', function(request)
          end
          --print("modUpdateSucess")
          guihooks.trigger('UpdateFinished')
@/lua/ge/extensions/core/cameraModes/relative.lua
      end
      --print("new light brightness mode: " .. tostring(self.lightBrightness))
      self:_updateLight()
  if type(slot) == 'string' then
    --print(">> slot " .. tostring(slot) .. " is ID " .. tostring(self.slotNameIndexMap[slot]))
    slot = self.slotNameIndexMap[slot] -- convert name to ID
@/lua/vehicle/controller/sound/linearMovement.lua
  if printDebug then
    print(string.format("%s: position: %.2f, velocity: %.2f, volume: %.2f, pitch: %.2f, isPlaying: %s", M.name, positionSensorBeamLength, movementVelocity, volume, pitch, isPlaying))
  end
@/lua/vehicle/controller/sound/airbrakes.lua
        local intensity = -dBrake * sampleWindow
        --print(intensity)
        obj:playSFXOnce(soundEvent, soundNode, intensity, 1)
@/lua/common/controlSystems.lua
function PIDParallel:dump()
  print(string.format("PID Parallel: kP: %.2f, kI: %.2f, kD: %.2f, Min: %.2f, Max: %.2f, Min Integral %.2f, Max Integral: %.2f", self.kP, self.kI, self.kD, self.minOutput, self.maxOutput, self.minIntegral, self.maxIntegral))
end
function PIDStandard:dump()
  print(string.format("PID Standard: kP: %.2f, kI: %.2f, kD: %.2f, Min: %.2f, Max: %.2f, Min Integral %.2f, Max Integral: %.2f", self.kP, self.kI, self.kD, self.minOutput, self.maxOutput, self.minIntegral, self.maxIntegral))
end
@/lua/ge/extensions/util/richPresence.lua

-- How to use: print(extensions.util_richPresence.set('yolo'))
M.state = { levelName = "", vehicleName = "" ,levelIdentifier=""}
  end
  -- print(name)
end
@/lua/ge/extensions/editor/rendererComponents.lua
        if s.tsVar then
          --print(newPath .. ' = ' .. tostring(TorqueScriptLua.getVar(s.tsVar)) .. ' (' .. tostring(s.tsVar) .. ')')
          initialValue = tonumber(TorqueScriptLua.getVar(s.tsVar)) or 0
        end
        --print("initialValue = " .. tostring(initialValue))
        s.cVal = im.FloatPtr(initialValue)
      if im.SliderFloat((s.title or s.name) .. '##' .. tostring(newPath), s.cVal, s.range[1], s.range[2]) then
        --print('value changed: ' .. tostring(newPath) .. ' = ' .. tostring(s.cVal[0]))
        if s.tsVar then
      if im.Checkbox((s.title or s.name) .. '##' .. tostring(newPath), s.cVal) then
        --print('value changed: ' .. tostring(newPath) .. ' = ' .. tostring(s.cVal[0]))
        if s.tsVar then
        end
        --print("initialValue = " .. tostring(initialValue))
        s.cVal = initialValue
            s.cVal = cv
            --print('value changed: ' .. tostring(newPath) .. ' = ' .. tostring(s.cVal))
            if s.tsVar then
@/lua/ge/extensions/ui/apps/minimap/minimap.lua
        lastSize = size
        print(string.format("Size: %d, %d", size.x, size.y))
        print(string.format("TexSize: %d, %d", texSize.x, texSize.y))
        print(string.format("Size: %d, %d", size.x, size.y))
        print(string.format("TexSize: %d, %d", texSize.x, texSize.y))
        lastTexSize = texSize
@/lua/ge/extensions/flowgraph/nodes/vehicle/recoverInPlace.lua
  if veh then
    --print("Recover in Place")
    veh:resetBrokenFlexMesh()
@/lua/ge/extensions/core/vehicle/partmgmt.lua
          else
            --print('flexbody set mesh alpha: ' .. flexbody.mesh .. ' to ' .. alpha)
          end
          else
            --print('prop set mesh alpha: ' .. prop.mesh .. ' to ' .. alpha)
          end
@/lua/vehicle/controller/linearActuators/linearActuatorTrailerFeet.lua
  end
  --print(string.format("Detached: %.2f, attached: %.2f, current: %.2f", detachedPosition, attachedPosition, currentPosition))
end
@/lua/common/quadtree.lua
function quadTree:analytics()
  print('Tree depth = '..math.ceil(math.log10(3 * self.nodeCount + 1) / math.log10(4)))
  print('Number of Tree Nodes = '..self.nodeCount)
  print('Tree depth = '..math.ceil(math.log10(3 * self.nodeCount + 1) / math.log10(4)))
  print('Number of Tree Nodes = '..self.nodeCount)

  print('Number of Occupied Nodes = '..occupiedNodes)
  print('Ratio of Occupied Nodes = '..occupiedNodes / self.nodeCount)
  print('Number of Occupied Nodes = '..occupiedNodes)
  print('Ratio of Occupied Nodes = '..occupiedNodes / self.nodeCount)
  print('Average number of items in occupied nodes = '..itemCount * 0.2 / occupiedNodes)
  print('Ratio of Occupied Nodes = '..occupiedNodes / self.nodeCount)
  print('Average number of items in occupied nodes = '..itemCount * 0.2 / occupiedNodes)
@/lua/vehicle/powertrain/shaft.lua
  if (not device.connectedWheel) and (not device.children or #device.children <= 0) then
    --print(device.name)
    local parentDiff = device.parent
      parentDiff = parentDiff.parent
      --print(parentDiff and parentDiff.name or "nil")
    end
    if parentDiff and parentDiff.deviceCategories.differential and parentDiff.defaultVirtualInertia then
      --print("Found parent diff, using its default virtual inertia: "..parentDiff.defaultVirtualInertia)
      device.virtualInertia = parentDiff.defaultVirtualInertia
  if device.connectedWheel and device.parent then
    --print(device.connectedWheel)
    --print(device.name)
    --print(device.connectedWheel)
    --print(device.name)
    local torsionReactor = device.parent
      torsionReactor = torsionReactor.parent
      --print(torsionReactor and torsionReactor.name or "nil")
    end

    --print(device.connectedWheel .. " Hub-Axis Inertia: " .. axisInertia .. " kgm^2")
    outputInertia = axisInertia
@/lua/common/jit/zone.lua
--     ...
--     print(zone:get()) --> "A*"
--     ...
--   ...
--   print(zone:get()) --> "AI"
--   ...
@/lua/common/utils/torqueScriptParser.lua
  --end
  --print(ast)
  --return nil
@/lua/vehicle/controller/vehicleController/shiftLogic/electricMotor.lua
    else
      print("unknown auto mode: " .. mode)
    end
@/lua/vehicle/powertrain/splitShaft.lua
  device.maxShaftAngle = math.sqrt(device.lockTorque / device.lockSpring)
  --print(device.lockSpring)
  --print(device.maxShaftAngle)
  --print(device.lockSpring)
  --print(device.maxShaftAngle)
end
@/lua/ge/extensions/editor/vehicleEditor/staticEditor/vePartTree.lua
      vEditor.propertyTableEditTarget = node
      --print('editing ... ' .. dumps(node))
    end
      vEditor.ast = ast
      --print('reloading ... ')
@/lua/ge/extensions/editor/rallyEditor.lua
  isDev = devTxtExists()
  -- print('isDev='..tostring(isDev))
@/lua/ge/extensions/util/groundModelDebug.lua
      --debugDrawer:drawLine(res.pos, res.pos + res.normal, ColorF(0,1,0,1))
      --print(" hit object: " .. tostring(res.object:getId() .. ' in ' .. res.distance .. ' m distance'))
      -- removes the object - fun minigame ;)
@/lua/ge/extensions/flowgraph/nodes/logic/booleanExpression.lua
  end
  --print(expression)
  --load the now sanitized and sandbox checked code with our custom environment
@/lua/common/extensions/networking/editorToolchain.lua
    selectedNodes = nil
    print('Connection closed: ' .. tostring(connection))
    return
@/lua/ge/extensions/gameplay/rally/util.lua
--     -- if type(v) == "function" then
--       print(k)
--     -- end
@/lua/ge/extensions/scenario/quickRace.lua
  --[[
  print("----")
  print("ID:")
  print("----")
  print("ID:")
  print(veh:getId())
  print("ID:")
  print(veh:getId())
  print("Vehcle by ID")
  print(veh:getId())
  print("Vehcle by ID")
  print(getObjectByID(veh:getId()))
  print("Vehcle by ID")
  print(getObjectByID(veh:getId()))
  print("Vehcle rotation through ID")
  print(getObjectByID(veh:getId()))
  print("Vehcle rotation through ID")
  print(getObjectByID(veh:getId()) and getObjectByID(veh:getId()):getRotation())
  print("Vehcle rotation through ID")
  print(getObjectByID(veh:getId()) and getObjectByID(veh:getId()):getRotation())
  print("Vehicle Rotation:")
  print(getObjectByID(veh:getId()) and getObjectByID(veh:getId()):getRotation())
  print("Vehicle Rotation:")
  print(veh:getRotation())
  print("Vehicle Rotation:")
  print(veh:getRotation())
  print("VS rotation given:")
  print(veh:getRotation())
  print("VS rotation given:")
  print(rot)
  print("VS rotation given:")
  print(rot)
  print("----")
  print(rot)
  print("----")
  ]]
@/lua/common/utils/httpJsonServer.lua
local function handleServerRequest(request)
    --print("got request:")
    --dump(request)
            local res, err = ltn12.pump.step(sinkData[2], sinkData[3])
            --print(tostring(res))
            --print(tostring(err))
            --print(tostring(res))
            --print(tostring(err))
            if res then
@/lua/vehicle/extensions/gameplayInterface.lua
local function debugCallback(requestId, data)
  print("gameplayInterface debug callback data:")
  dump(data)
  if not callbackData then
    print(string.format("Can't find requested callback id %d", callbackId))
    dump(callbacks)
      result = {failReason = string.format("Can't find module for system %q with request id %d", system, id)}
      print(result.failReason)
    end
      result = {failReason = string.format("Received unknown system %q with request id %d", system, id)}
      print(result.failReason)
    end
    result = {failReason = string.format("Received invalid request data, request id: %d, system: %q", id, system)}
    print(result.failReason)
  end
  local params = {...}
  --print(string.format("Doing thing %q with data %q", action, dumps(params)))
  if id and action then
      result = {failReason = string.format("Can't find module for action %q with id %d", action, id)}
      print(result.failReason)
    end
      result = {failReason = string.format("Received unknown action %q with id %d", action, id)}
      print(result.failReason)
    end
    result = {failReason = string.format("Received invalid request data, id: %d, action: %q", id, action)}
    print(result.failReason)
  end
    if registeredActions[k] then
      print(string.format("duplicate action: %q from %q and %q", k, registeredActions[k], name))
    end
    if registeredLookups[k] then
      print(string.format("duplicate lookup: %q from %q and %q", k, registeredLookups[k], name))
    end
@/lua/ge/extensions/gameplay/rally/driveline/drivelineRoute.lua
  profilerPushEvent("DrivelineRoute - evaluatePacenoteEvents")
  -- print(string.format("evaluating pacenote %s", pacenote.name))
    --   local vDist = vPos:distance(self.lastVPos)
    --   print(string.format("vDist: %0.3fm vSpeed: %0.3fm/s", vDist, vSpeed))
    -- end
@/lua/vehicle/controller/vehicleController/vehicleController.lua

  --print(string.format("%d / %d slip, groundcontact: %s -> canShiftDown: %s", averagePropulsedWheelSlip, shiftPreventionData.wheelSlipDownThreshold, groundContactCoef, shiftPreventionData.wheelSlipShiftDown))
end

    --print(string.format("Gear %d: Up: %d, Down: %d", k, shiftPoints[k].highShiftUpAV * constants.avToRPM, shiftPoints[k].highShiftDownAV * constants.avToRPM))
  end
@/lua/ge/extensions/ui/gridSelectorUtils/tilesModule.lua
            defaultTile.forceAutoFocus = true
            print("Overriding default tile to:"..dumps(defaultTile.key))
            break
@/lua/vehicle/extensions/tech/CANBus/ProjectBavariaShifter.lua
    end
    --print(string.format("Lever: %s, Park: %s", leverStateLookup[leverState], parkButtonLookup[parkButtonState]))
    lastLeverState = leverState
@/lua/ge/extensions/career/modules/logbook.lua
  if entryId == -1 then return end
  --print("Setting Logbook entry to read" .. entryId .. " ->  " ..dumps(read))
  for _, e in ipairs(logbook) do
@/lua/ge/extensions/util/testExtensionProxies.lua
function ExtensionProxyTester:onUpdate(dtReal, dtSim, dtRaw)
  print('ExtensionProxyTester:onUpdate called: ' .. tostring(self.id) .. ', ' .. tostring(dtReal))
end
  end
  --print(' == testInstances ==')
  --dump(testInstances)
@/lua/ge/extensions/core/modmanager.lua
    --local hash = hashFile(v)
    print(" * " .. tostring(v) .. " = " .. tostring(hash))
local function testZips()
  print('testZips')
  local fileList = FS:findFiles( "/mods", "*.zip", -1, true, false )
  for k,v in pairs(fileList) do
    print( "ZIP file: " .. v )
    local filesInZIP = zip:getFileList()
    print("  entries: " .. tostring( #filesInZIP ) )
    for k2,v2 in pairs(filesInZIP) do
    for k2,v2 in pairs(filesInZIP) do
      print( "  " .. v2 )
      if v2:find(".jbeam") then
        local text = zip:readFileEntryByIdx(k2)
        print( "     Contains: " .. text)
      end
    -- test mounting
    print( "  Testing mounting of " .. v)
    print( "     checking isMountedZIP ... RESULT " .. tostring( FS:isMounted(v) ))
    print( "  Testing mounting of " .. v)
    print( "     checking isMountedZIP ... RESULT " .. tostring( FS:isMounted(v) ))
    print( "     checking mountZIP ... RESULT " .. tostring( FS:mount(v) ))
    print( "     checking isMountedZIP ... RESULT " .. tostring( FS:isMounted(v) ))
    print( "     checking mountZIP ... RESULT " .. tostring( FS:mount(v) ))
    print( "     checking isMountedZIP ... RESULT " .. tostring( FS:isMounted(v) ))
    print( "     checking mountZIP ... RESULT " .. tostring( FS:mount(v) ))
    print( "     checking isMountedZIP ... RESULT " .. tostring( FS:isMounted(v) ))
    print( "     checking unmountZIP ... RESULT " .. tostring( FS:unmount(v) ))
    print( "     checking isMountedZIP ... RESULT " .. tostring( FS:isMounted(v) ))
    print( "     checking unmountZIP ... RESULT " .. tostring( FS:unmount(v) ))
    print( "     checking isMountedZIP ... RESULT " .. tostring( FS:isMounted(v) ))
    print( "     checking unmountZIP ... RESULT " .. tostring( FS:unmount(v) ))
    print( "     checking isMountedZIP ... RESULT " .. tostring( FS:isMounted(v) ))
local function deleteMod(modname)
  --print("removeMod")
  --print(hash)
  --print("removeMod")
  --print(hash)
  if not mods[modname] then
  end
  --print("targetPath: " .. targetPath)
  for i,v in ipairs(files) do
    --print('extractFile: ' .. tostring(v) .. ' -> ' .. tostring(targetPath) .. v)
    Engine.Platform.taskbarSetProgress(i / #files)
      end
      --print(dumps( request.responseData) )
      if not request.responseData and request.responseData.ok == 1 then
@/lua/common/libs/luasec/options.lua
local function usage()
  print("Usage:")
  print("* Generate options of your system:")
  print("Usage:")
  print("* Generate options of your system:")
  print("  lua options.lua -g /path/to/ssl.h [version] > options.c")
  print("* Generate options of your system:")
  print("  lua options.lua -g /path/to/ssl.h [version] > options.c")
  print("* Examples:")
  print("  lua options.lua -g /path/to/ssl.h [version] > options.c")
  print("* Examples:")
  print("  lua options.lua -g /usr/include/openssl/ssl.h > options.c\n")
  print("* Examples:")
  print("  lua options.lua -g /usr/include/openssl/ssl.h > options.c\n")
  print("  lua options.lua -g /usr/include/openssl/ssl.h \"OpenSSL 1.0.1 14\" > options.c\n")
  print("  lua options.lua -g /usr/include/openssl/ssl.h > options.c\n")
  print("  lua options.lua -g /usr/include/openssl/ssl.h \"OpenSSL 1.0.1 14\" > options.c\n")

  print("* List options of your system:")
  print("  lua options.lua -l /path/to/ssl.h\n")
  print("* List options of your system:")
  print("  lua options.lua -l /path/to/ssl.h\n")
end
local function printf(str, ...)
  print(string.format(str, ...))
end
local function generate(options, version)
  print([[
/*--------------------------------------------------------------------------

  print([[static lsec_ssl_option_t ssl_options[] = {]])
    local name = string.lower(string.sub(option, 8))
    print(string.format([[#if defined(%s)]], option))
    print(string.format([[  {"%s", %s},]], name, option))
    print(string.format([[#if defined(%s)]], option))
    print(string.format([[  {"%s", %s},]], name, option))
    print([[#endif]])
    print(string.format([[  {"%s", %s},]], name, option))
    print([[#endif]])
  end
  end
  print([[  {NULL, 0L}]])
  print([[
  print([[  {NULL, 0L}]])
  print([[
};
  for k, option in ipairs(options) do
    print(option)
  end
@/lua/common/utils.lua
    log("E", "jsonWriteFile", "Provided objType is not a table but "..dumps(objType)..", unable to write to: "..dumps(filename))
    print(debug.tracesimple())
    return false
    log("E", "jsonWriteFile", "Unable to open file for writing: "..dumps(filename))
    print(debug.tracesimple())
  end
--   d = {a = "foo", b = {c = 123, d = "foo", p = vec3(1,2,3)}}
--   print("original data: " .. tostring(d))
--   dump(d)
--   s = serialize(d)
--   print("serialized data: " .. tostring(s))
--   da = deserialize(s)
--   da = deserialize(s)
--   print("restored data: " .. tostring(da))
--   dump(da)
    collectgarbage('restart')
    if (dif > 0 or printZero) and not omitPrint then print(dif) end
    __prevgccount__ = false
    if not omitPrint then
      print(t * 1000)
    end
    if i % 8 == 1 then
      print(hex .. asc)
      hex, asc = string.format("%04x: ", i - 1), ''
  end
  print(hex .. string.rep("   ", 8 - len % 8 ) .. asc)
end
@/lua/common/extensions/ui/flowgraph/editor.lua

--print("EDITOR API LOADED")
M.flowgraphVersion = 0.2
            if source:renameVariable(name, newName) then
              print("Variable " .. name .. " renamed to " .. newName)
            else
@/lua/vehicle/powertrain/combustionEngineThermals.lua
          -- Audio Debug
          -- print (string.format(" AF Trig Insta %.3f/%.3f Eng InstVolCoef %.2f Exh VolCoef %.2f EngExh Vol TOTL %.2f Exh Color %.2f", parentEngine.instantAfterFireCoef, parentEngine.instantAfterFireCoef * n.afterFireAudioCoef, afterFire.instantVolumeCoef, n.afterFireVolumeCoef, afterFire.instantVolumeCoef * n.afterFireVolumeCoef, 1 - n.afterFireMufflingCoef))
          end
          -- Audio Debug
          -- print (string.format(" AF Trig Shift %.3f/%.3f Eng InstVolCoef %.2f Exh VolCoef %.2f EngExh Vol TOTL %.2f Exh Color %.2f", parentEngine.shiftAfterFireCoef, parentEngine.shiftAfterFireCoef * n.afterFireAudioCoef, afterFire.shiftVolumeCoef, n.afterFireVolumeCoef, afterFire.shiftVolumeCoef * n.afterFireVolumeCoef, 1 - n.afterFireMufflingCoef))
          end
            obj:playSFXOnceCT(afterFire.sustainedAudioSample, n.finish, n.afterFireVolumeCoef * afterFire.sustainedVolumeCoef, 1.0, 1 - n.afterFireMufflingCoef, 0)
          --print (string.format(" AF Trig Sustd %.3f/%.3f Eng InstVolCoef %.2f Exh VolCoef %.2f EngExh Vol TOTL %.2f Exh Color %.2f", parentEngine.sustainedAfterFireCoef, parentEngine.sustainedAfterFireCoef * n.afterFireAudioCoef, afterFire.sustainedVolumeCoef, n.afterFireVolumeCoef, afterFire.sustainedVolumeCoef * n.afterFireVolumeCoef, 1 - n.afterFireMufflingCoef))
          end
  --dump(exhaustTrees)
  --print(afterFire.exhaustMaxLevel)
  -- Audio Debug
  -- print (string.format("instantAfterFire coef %.2f / sustainedAfterFire coef %.2f / shiftVolumeCoef %.2f", jbeamData.instantAfterFireVolumeCoef, jbeamData.sustainedAfterFireVolumeCoef, jbeamData.shiftAfterFireVolumeCoef))
  -- print (string.format("audibleThresholdInstant %.2f / audibleThresholdSustained %.2f / audibleThresholdShift %.2f", jbeamData.afterFireAudibleThresholdInstant, jbeamData.afterFireAudibleThresholdSustained, jbeamData.afterFireAudibleThresholdShift))
  -- print (string.format("instantAfterFire coef %.2f / sustainedAfterFire coef %.2f / shiftVolumeCoef %.2f", jbeamData.instantAfterFireVolumeCoef, jbeamData.sustainedAfterFireVolumeCoef, jbeamData.shiftAfterFireVolumeCoef))
  -- print (string.format("audibleThresholdInstant %.2f / audibleThresholdSustained %.2f / audibleThresholdShift %.2f", jbeamData.afterFireAudibleThresholdInstant, jbeamData.afterFireAudibleThresholdSustained, jbeamData.afterFireAudibleThresholdShift))
@/lua/ge/extensions/gameplay/missions/poiTest.lua
    ret.buttonText = "Do the Test"
    ret.buttonFun = function() print("Test Successfull!") end
    table.insert(promptData, ret)
@/lua/vehicle/extensions/inputAnalyzer.lua
  end
  --print(inputString)
end
@/lua/vehicle/controller/tirePressureControl.lua

  --print(electrics.values[activeGroupPressureElectricsName])
end
@/lua/ge/extensions/util/booster.lua
function M.trigger(data)
  print("Booster triggered")
  dump(data)
@/lua/console/simtest.lua
        BeamEngine:update(1/2000, 1/2000)
        print(" - "..hp:stop().." ms")
    end
@/lua/ge/extensions/flowgraph/nodes/math/smoothers/nonLinear.lua
    self.oldSet = self.pinIn.set.value
    --print(self.oldSet)
    self.smoother:set(self.oldSet)
@/lua/vehicle/extensions/aeroDebug.lua
  aeroData.afZ = aeroData.totalAeroForce:dot(M.directionVectorUp)
  --print(M.afX..' '..M.afY..' '..M.afZ)
  aeroData.aTZ = aeroData.totalAeroTorque:dot(M.directionVectorUp)
  --print(M.aTX..' '..M.aTY..' '..M.aTZ)

  --print(aeroData.frontDownForce..' '..aeroData.rearDownForce..' '..aeroData.afX..' '..aeroData.afY..' '..aeroData.afZ)
  --print("%F:"..' '..string.format("%.2f",aeroData.percentFront)..' '.."%R:"..' '..string.format("%.2f",aeroData.percentRear)..' '.."Net Force X:"..' '..string.format("%.2f",aeroData.afX)..' '.."Y:"..''..string.format("%.2f",aeroData.afY)..' '.."Z:"..''..string.format("%.2f",aeroData.afZ))
  --print(aeroData.frontDownForce..' '..aeroData.rearDownForce..' '..aeroData.afX..' '..aeroData.afY..' '..aeroData.afZ)
  --print("%F:"..' '..string.format("%.2f",aeroData.percentFront)..' '.."%R:"..' '..string.format("%.2f",aeroData.percentRear)..' '.."Net Force X:"..' '..string.format("%.2f",aeroData.afX)..' '.."Y:"..''..string.format("%.2f",aeroData.afY)..' '.."Z:"..''..string.format("%.2f",aeroData.afZ))
  end
@/lua/common/json-ast.lua
    jsonWriteFile(filename .. '.ast.json', res, true)
    print('wrote AST: ' .. tostring(filename .. '.ast.json'))
  end
  end
  print('Done! :)')
end
@/lua/common/timeEvents.lua
-- print sth in 5 seconds
events:addEvent( 5, function() print ("hello world!") end)
@/lua/ge/extensions/editor/util/transformUtil.lua
  --dump(editor.editMode and editor.editMode.displayName)
  --print(debug.tracesimple())
  if self:correctEditMode() then
@/lua/vehicle/extensions/tech/wheelForces.lua
local function onPhysicsStep(dt)
  --print("wheellogger physics step")
  --obj:getNodeForceVector()
  enablePhysicsStepHook()
  print("wheellogger loaded")
  wheelData = {}
      else
        print("rim beam not attached to node1 or node2")
      end
      else
        print("sidewall beam not attached to any rim beam")
      end
      else
        print("sidewall reinf beam not attached to any rim beam")
      end
    end
    print("wheelforces.lua: " .. wd.name)
    dump(data.suspensionBeamsNode1)
@/lua/ge/extensions/util/wsTest.lua
  server, chosenAddress = wsUtils.createOrGetWS('any', port, './ui/entrypoints/util_wsTest/', protocolName, '/ui/entrypoints/util_wsTest/index.html')
  print('wsTest webserver running at: http://' .. chosenAddress .. ':' .. tostring(port) .. ' (listening on all addresses)')
  --openWebBrowser('http://' .. chosenAddress .. ':'.. tostring(port))
    if type(debug.traceback) ~= "function" then
      print("*** LUA TRACEBACK BROKEN ***")
    end
@/lua/vehicle/extensions/ui/simplePowertrainControl.lua
local function setButton(id, uiName, icon, color, ringValue, onClickCallback, remove)
  --print(string.format("id: %q, uiName: %q, icon: %q, ringvalue: %q, click: %q, remove: %q", id, uiName, icon, color, ringValue, onClickCallback, remove))
  guihooks.trigger("ChangePowerTrainButtons", {id = id, tooltip = uiName, icon = icon, color = color, ringValue = ringValue, onClick = onClickCallback, remove = remove})
@/lua/ge/extensions/flowgraph/nodes/gameplay/race/raceHighscoresLap.lua

      print("Writing Highscores...")
      local veh
@/lua/ge/extensions/flowgraph/graph.lua
      log("E", "", "Duplicate ID error! Graph")
      print(debug.tracesimple())
    end
      })
      --print("Connecting intergraph pins: " .. sLink.sourcePin.id .. " -> " .. tgt[2].id)
    end
           for _,v in pairs(mPin) do
             print(mPin.value)
             if mPin.value == true then
    local exprFunc, message = load(funstr, "Compiled FG Code for " .. dumps(self.mgr.name) .. " / " .. dumps(color.name), 't', env)
    -- print(message)
    if exprFunc then
  --dumpz(node, 1)
  --print(debug.tracesimple())
  --ui_flowgraph_editor.DeleteNode(node.id)
  end
  --print("Deserializing " .. self.name .."/" ..self.type)
  if data.viewPos and data.viewZoom then
      elseif child.path then
        --print("Creating macro instance path. "..self.name .. " => " ..child.path)
        cGraph = self.mgr:createMacroInstanceFromPath(child.path, integratedNodes[tonumber(cid)] )
      else
        --print("Deserializing Child "..self.name .. " => " ..child.name)
        cGraph = self.mgr:createGraph('for deserializing child',self.type == 'macro', tonumber(cid))
        if self.type == 'macro' then
          --print("Creating macro child "..self.name .. " => " ..child.name)
          self.mgr.macros[cGraph.id] = cGraph

  --print("Completed deserializing " .. self.name)
  self.dirty = data.dirty
  local indexes = self:getChildPosition()
  --print("Root ID " .. root.id)
  for _, m in pairs(self.mgr.macros) do
  s = s .. self:toString()
  print(s)
  for _, c in ipairs(self:getChildren()) do
  if parent then
    print(parent.name)
    -- find all children and represented flowgraphs
    for _, gr in pairs(self.mgr.graphs) do
      --print(gr.isStateGraph)
      --print(gr.name)
      --print(gr.isStateGraph)
      --print(gr.name)
      if gr.isStateGraph and state == nil then
@/lua/ge/map.lua
  if list1Count ~= list2Count then
    print('!!!!!!!!!!!!!!!! Node List Sizes Do Not Match ('..list1Count..' - '..list2Count..') !!!!!!!!!!!!!!!!!!!!!!!!!!!!!')
    return
  if nodesNotMatchedCount > 0 then
    print('!!!!!!!!!!!!!!!!! Did not find match for '..nodesNotMatchedCount..' nodes !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!')
    local matchedL1 = {}
    end
    print('-------------')
    for i = 1, nodeList1 do
  else
    print('Matches found for all ('..list1Count..') nodes.')
  end
  if edgeList1Count ~= edgeList2Count then
    print('!!!!!!!!!!!!!!!! Edge List Sizes Do Not Match ('..edgeList1..' - '..edgeList2..') !!!!!!!!!!!!!!!!!!!!!!!!!!!!!')
    return
  if edgesNotMatchedCount > 0 then
    print('!!!!!!!!!!!!!!!!!!!!!!!!!!! DID NOT FIND MATCH FOR '..edgesNotMatchedCount..' edges !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!')
    local matchedL1 = {}
    end
    print('--------------------')
    for i = 1, edgeList1Count do
  else
    print('Matches found for all ('..edgeList1Count..') edges.')
  end
      if not map.nodes[n2id] then
        print('!!!! Link is not a map node !!!!!')
        linksOk = false
      if n1id == n2id then
        print('!!!! Link is connected to itself !!!!')
        linksOk = false
      -- if not edgeData.pos[n1id] or not edgeData.pos[n2id] or not edgeData.radius[n1id] or not edgeData.radius[n2id] then
      --   print('!!!! edge Node ids do not match graph ids !!!!')
      --   linksOk = false
  else
    print('!!!!!! Links Not Ok !!!!!!!')
  end
  --   if not (n1.pos:squaredDistance(n2.pos) < square(min(n1.radius, n2.radius))) then
  --     print('!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! mergeNodesToLines Error 1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!')
  --   end
  -- if tableSize(newNodesCreated) ~= numOfNewNodesCreated then -- TODO: remove debug
  --   print('!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! mergeNodesToLines Error 2 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!')
  -- end
  --[[ Load Map Data Hashes
  print('--------------- Load ---------------')
  checkLinks()
  dump(graphDataHistory['load'][2])
  print('')
  --]]
  --[[ Merge Overlapping Nodes 0 Hashes
  print('--------------- Merge Overlapping Nodes 0 ---------------')
  checkLinks()
  dump(graphDataHistory['Merge_Nodes_0'][2])
  print('')
  --]]
  --[[ optimizeNodes_0
  print('--------------- Optimize Nodes 0 ---------------')
  checkLinks()
  dump(graphDataHistory['optimizeNodes_0'][2])
  print('')
  --]]
  --[[ Merge Overlapping Nodes 1 Hashes
  print('--------------- Merge Overlapping Nodes 1 ---------------')
  checkLinks()
  dump(graphDataHistory['Merge_Nodes_1'][2])
  print('')
  --]]
  --[[ T - Junctions Hashes
  print('--------------- Resolve T Junctions ---------------')
  checkLinks()
  dump(graphDataHistory['T_Junctions'][2])
  print('')
  --]]
  --[[ X - Junctions Hashes
  print('--------------- Resolve X Junctions ---------------')
  checkLinks()
  dump(graphDataHistory['X_Junctions'][2])
  print('')
  --]]
  --[[ Merge Nodes to Lines Hashes
  print('--------------- After merge nodes to lines ---------------')
  checkLinks()
  dump(graphDataHistory['mergeNodesToLines'][2])
  print('')
  --]]
  --[[ Merge Overlapping Nodes 2 Hashes
  print('--------------- Merge Overlapping Nodes 2 ---------------')
  checkLinks()
  dump(graphDataHistory['Merge_Nodes_2'][2])
  print('')
  --]]
  --[[ Optimize Nodes Hashes
  print('------------------ Optimize Nodes ----------------------')
  checkLinks()
  dump(graphDataHistory['optimizeNodes'][2])
  print('')
  --]]
  --[[ Convert to single sided Hashes
  print('------------------ Convert To Single Sided ----------------------')
  -- checkLinks() -- this does not work for single sided links
  dump(graphDataHistory['convertToSingleSided'][2])
  print('')
  --]]
    --[[ For debugging: comment out linkMap() call above.
    print('============== Load Map ===============')
    toggleShuffledPairs('shuffledPairs')

    print('')
    print('=========================================================================')
    print('')
    print('=========================================================================')
    print('')
    print('=========================================================================')
    print('')
    graphHistory[2] = linkMap()
    print('')
      if graphHistory[1][v] and graphHistory[2][v] then
        print('========='.. ' '..v..' '..'=========')
        if graphHistory[1][v][1] == graphHistory[2][v][1] then
          print('Node Check PASSED')
        else
        else
          print('Node check FAILED !!!!!!!!!!!!!!!!!!!!!!!')
        end
        if graphHistory[1][v][2] == graphHistory[2][v][2] then
          print('Edge Check PASSED')
        else
        else
          print('Edge check FAILED !!!!!!!!!!!!!!!!!!!!!!!')
        end

        print('')
      end
local function onWaypoint(args)
  --print('onWaypoint')
  --dump(args)
    local tpos = nextTrigger:getPosition()
    --print("player pos: " .. tostring(ppos))
    --print("trigger pos: " .. tostring(tpos))
    --print("player pos: " .. tostring(ppos))
    --print("trigger pos: " .. tostring(tpos))
    local l = 'ai.setTarget('..tostring(tpos)..')'
    local l = 'ai.setTarget('..tostring(tpos)..')'
    --print(l)
    args.subject:queueLuaCommand(l)
local function onAddWaypoint(wp)
  --print("waypoint added: " .. tostring(wp))
  if isEditorEnabled then
local function onRemoveWaypoint(wp)
  --print("waypoint removed: " .. tostring(wp))
  if isEditorEnabled then
local function onModifiedWaypoint(wp)
  --print("waypoint modified: " .. tostring(wp))
  if isEditorEnabled then
@/lua/ge/extensions/flowgraph/nodes/debug/multiFlow.lua
  if self.data.logOnWork then
    print("a: " .. (self.pinIn.a.value and "true" or "false"))
    print("b: " .. (self.pinIn.b.value and "true" or "false"))
    print("a: " .. (self.pinIn.a.value and "true" or "false"))
    print("b: " .. (self.pinIn.b.value and "true" or "false"))
    print("c: " .. (self.pinIn.c.value and "true" or "false"))
    print("b: " .. (self.pinIn.b.value and "true" or "false"))
    print("c: " .. (self.pinIn.c.value and "true" or "false"))
    print("d: " .. (self.pinIn.d.value and "true" or "false"))
    print("c: " .. (self.pinIn.c.value and "true" or "false"))
    print("d: " .. (self.pinIn.d.value and "true" or "false"))
  end
@/lua/ge/extensions/freeroam/dragRace.lua
  end
  --print("Setting name: drag_opponent")
  --opponentVehicle:setField('name', '', opponentVehicleName)
@/lua/ge/client/init.lua

  -- print("initRenderManager");
  renderManagerModule.initRenderManager()

  -- print("initLightingSystems");
  lightingModule.initLightingSystems()

  -- print("initLightingSystems");
  lightingModule.reloadLightingSystems();

  -- print("... initClient done")
end
@/lua/ge/extensions/editor/flowgraph/main.lua
      ui_flowgraph_editor.setViewState(graph.viewPos, graph.viewZoom)
      --print(string.format(graph.name.. " Restoring View to: %d %d / %0.2f", graph.viewPos[0].x, graph.viewPos[1].y, graph.viewZoom[0]))
    else
    else
      --print(graph.name .. " Nothing to restore, navigating to contend")
      ui_flowgraph_editor.NavigateToContent(0.01)
    --if o1 ~= graph.viewPos[0].x or o2 ~= graph.viewPos[0].y or o3 ~= graph.viewZoom[0] then
    --  print(string.format(graph.name.." Saved View to: %d %d / %0.2f", graph.viewPos[0].x, graph.viewPos[1].y, graph.viewZoom[0]))
    --end
  if graph.focusDelay == 0 then
    --[[print("Navigating to Content")
    if graph.viewPos and graph.viewZoom then
      graph.viewZoom[0] = 1
      print(string.format("Restoring to: %d %d / %0.2f", graph.viewPos[0].x, graph.viewPos[1].y, graph.viewZoom[0]))
      ui_flowgraph_editor.setViewState(graph.viewPos, graph.viewZoom)
    for _,gr in ipairs(allGraphs) do
      --print(gr:getLocation())
      local graph = gr
      if focusGraphNow and focusGraphNow == gr then
        --print("Focusgraph to " .. self.mgr.focusGraph.name .. "/" ..self.mgr.focusGraph.id)
        self.mgr.focusGraph.showTab[0] = true
          if not focussed and ((not self.mgr.graph) or (gr.id ~= self.mgr.graph.id)) and im.IsWindowFocused() then
            --print("mgr graph " .. dumps(self.mgr.graph and self.mgr.graph.id) .. " vs this graphs id: " .. gr.id .." " .. gr.name)
            setGraphAfter = gr
                if im.Button("Duplicate id!!: " ..#duplicateIds) then
                  print("-------------")
                  for _, duplicateId in ipairs(duplicateIds) do
                    end
                    print("-------------")
                  end
          ui_flowgraph_editor.PopStyleColor(1)
          --print(im.IsWindowFocused(im.FocusedFlags_ChildWindows))
    if setGraphAfter and focusGraphNow then
      --print("Setting graph but also focussing now..?")
    end
    if setGraphAfter and not focusGraphNow then
      --print("setgraph id is " .. dumps(setGraphAfter.id))
      self.mgr:selectGraph(setGraphAfter)
@/lua/ge/extensions/gameplay/statistic.lua
  -- callbackRegister("vehicle/burnout.time", 0,_callbackTest, false)
  -- print(callbackRemove("vehicle/burnout", 0,_callbackTest))
end
@/flowgraphEditor/Tower/customNodes/towerNode.lua
  -- Generate the list
  --print(n)
  for _, option in ipairs(options) do
    local amount = math.ceil((option.frequency / totalFrequency) * (n))
    print(string.format("%s : %d / %d", option.mesh, amount, n))
    for _ = 1, amount do
@/lua/ge/extensions/editor/buildingEditor.lua
			obj:delete()
--			print('??^^^^^^^^^^ BE_removed:')
		end
		end
		print('?? ^^^^^^^^^^^ had_EROAD:'..tostring(scenetree.findObject('e_road')))
	end
local function onActivate()
--		print('>>______________________________________________________ onActivate:'..tostring(U._PRD))
--	lo('>> onActivate:'..tostring(isfirst)..':'..tostring(U._PRD)..' edit:'..tostring(scenetree.findObject('edit')))
	end
--			print('?? to_inject:'..tostring(U._PRD))
	W.up(D, nil, true)
local function onDeactivate()
--		print('>> onDeactivate:'..tostring(U._PRD)..':'..tostring(scenetree.findObject('e_road')))
		if scenetree.findObject('e_road') then
		if scenetree.findObject('e_road') then
			print('!! BAT.CLEANUP_FOLDERS')
		end
	if U._PRD == 1 then
--			print('?? BAT_deact:'..tostring(scenetree.findObject('e_road')))
		if scenetree.findObject('edit') then
	if im.IsKeyPressed(im.GetKeyIndex(im.Key_X)) and editor.keyModifiers.ctrl then
--		print('?? to_RELOAD:')
		for k,d in pairs(dexp) do
local function onSerialize()
--		print('??^^^^^^^^^^ onSerialize:'..tostring(scenetree.findObject('e_road')))
	if scenetree.findObject('e_road') then
	local jdata = W.onQuit()
--		print('?? onSer:'..tostring(U._MODE))
		lo('>> bE.onSerialize:') --..#jdata)
@/lua/vehicle/extensions/scenario/shiftBooster.lua
    for _, node in pairs(v.data.nodes) do
        print("node = " .. tostring(node.cid) .. ' > ' .. tostring(forceVec))
        obj:applyForceVector(node.cid, forceVec)
    ]]
  print("applyBoost > " .. tostring(forceVec))
  obj:setWind(forceVec.x, forceVec.y, forceVec.z)
local function listenToShift()
  print("### SHIFTBOOSTER ###")
  local up_for_real = drivetrain.shiftUp
  drivetrain.shiftUp = function()
    print("### SHIFTBOOSTER ### > SHIFTUP")
@/lua/ge/extensions/flowgraph/nodes/recording/recordReplay.lua
    if self.pinIn.start.value then
      print("Starting recording!")
      core_replay.toggleRecording(false)
    if self.pinIn.stop.value then
      print("Stopping Recording!")
      core_replay.toggleRecording(false)
@/lua/ge/extensions/gameplay/discover.lua
-- use this to get the position, rotation and partConfig of all vehicles
for id in activeVehiclesIterator() do local veh = scenetree.findObjectById(id) print(veh) dump({veh:getPosition(), quatFromDir(veh:getDirectionVector(), veh:getDirectionVectorUp()), veh.jbeam, veh.partConfig}) end
]]
@/lua/common/libs/lua-websockets/websocket/server_copas.lua
  assert(opts and (opts.protocols or opts.default))
  local on_error = opts.on_error or function(s) print(s) end
  local listener,err = socket.bind(opts.interface or '*',opts.port or 80)
@/lua/common/libs/StackTracePlus/StackTracePlus.lua
  assert(type(line) == "string")
  --print(line)
  local match = line:match("^%s*function%s+(%w+)")
  if match then
    --print("+++++++++++++function", match)
    return match
  if match then
    --print("++++++++++++local", match)
    return match
  if match then
    --print("++++++++++++local func", match)
    return match
  if match then
    --print("+++++++++++++function2", match)
    return "(anonymous)"
local function GuessFunctionName(info)
  --print("guessing function name")
  if type(info.source) == "string" and info.source:sub(1,1) == "@" then
    if not file then
      print("file not found: "..tostring(err))    -- whoops!
      return "?"
    if not line then
      --print("line not found")    -- whoops!
      return "?"
    if not line then
      --print("line not found")    -- whoops!
      return "?"
        end
        --for k,v in pairs(info) do print(k,v) end
        fun_name = fun_name or GuessFunctionName(info)
  end
  --print(error_message)
    elseif info.what == "C" then
      --print(info.namewhat, info.name)
      --for k,v in pairs(info) do print(k,v, type(v)) end
      --print(info.namewhat, info.name)
      --for k,v in pairs(info) do print(k,v, type(v)) end
      local function_name = m_user_known_functions[info.func] or m_known_functions[info.func] or info.name or tostring(info.func)
    elseif info.what == "tail" then
      --print("tail")
      --for k,v in pairs(info) do print(k,v, type(v)) end--print(info.namewhat, info.name)
      --print("tail")
      --for k,v in pairs(info) do print(k,v, type(v)) end--print(info.namewhat, info.name)
      dumper:add_f("\n(%d) tail call", level_to_show)
      --print("tail")
      --for k,v in pairs(info) do print(k,v, type(v)) end--print(info.namewhat, info.name)
      dumper:add_f("\n(%d) tail call", level_to_show)
      if not function_name or function_name == "?" then
        --for k,v in pairs(info) do print(k,v, type(v)) end
        function_name = GuessFunctionName(info)
  dumper:add('\n=============== Stack Traceback >> START >>\n')
  --print(error_message)
    elseif info.what == "C" then
      --print(info.namewhat, info.name)
      --for k,v in pairs(info) do print(k,v, type(v)) end
      --print(info.namewhat, info.name)
      --for k,v in pairs(info) do print(k,v, type(v)) end
      local function_name = m_user_known_functions[info.func] or m_known_functions[info.func] or info.name or tostring(info.func)
    elseif info.what == "tail" then
      --print("tail")
      --for k,v in pairs(info) do print(k,v, type(v)) end--print(info.namewhat, info.name)
      --print("tail")
      --for k,v in pairs(info) do print(k,v, type(v)) end--print(info.namewhat, info.name)
      dumper:add_f("(%d) tail call\n", level_to_show)
      --print("tail")
      --for k,v in pairs(info) do print(k,v, type(v)) end--print(info.namewhat, info.name)
      dumper:add_f("(%d) tail call\n", level_to_show)
      if not function_name or function_name == "?" then
        --for k,v in pairs(info) do print(k,v, type(v)) end
        function_name = GuessFunctionName(info)
@/lua/ge/extensions/flowgraph/nodes/util/onMenu.lua
      self.pinOut.onOpened.value = true
      print("OnMenu Debug - Triggering onOpened impulse")
    elseif newState == "closed" then
      self.pinOut.onClosed.value = true
      print("OnMenu Debug - Triggering onClosed impulse")
    end
@/lua/ge/extensions/ui/vehicleSelector/tiles.lua
  for _, group in pairs(groups) do
    --print(string.format("sorting group %s with mode %s %s (in handleAllModelsPath)", group.key, data.displayData.sortMode, data.displayData.groupMode))
    if data.displayData.sortMode == 'Automatic' or group.isRecentGroup then
  -- GENERIC: Sort tiles
  --print(string.format("sorting group %s with mode %s %s (in handleAllModelsPath)", group.key, data.displayData.sortMode, data.displayData.groupMode))
  if data.displayData.sortMode == 'Automatic' or group.isRecentGroup then
@/lua/ge/extensions/core/cameraModes/pacenoteOrbit.lua
function C:init()
  -- print('pacenoteOrbit cam init')
  self.isGlobal = true
@/lua/ge/extensions/editor/api/dynamicDecals.lua
  if id > #tableToRemoveFrom then
    print(string.format("%s.deleteLayer(): Can't delete layer. Id [%d] is out of bounds!", logTag, id))
    return
  if not layer then
    print(string.format("%s.addMaskDecal(): Couldn't find layer for layerUid '%s'. Couldn't undo 'addMaskDecal' action.", logTag, actionData.baseLayerUid))
    return
  if not layer then
    print(string.format("%s.addMaskDecal(): Couldn't find layer for layerUid '%s'. No layer mask decal has been added.", logTag, actionData.baseLayerUid))
    return
  if not layerUid_string then
    print(string.format("%s.addMaskDecal(): 'layerUid' must be set. No layer mask decal has been added.", logTag))
    return
  if not layer then
    print(string.format("%s.addMaskDecal(): Couldn't find layer for layerUid '%s'. No layer mask decal has been added.", logTag, layerUid_string))
    return
  if M.debug then
    print(string.format("%s.addMaskDecal()\ndecalData:\n%s\n### ######## ###", logTag, dumps(decalData)))
  end
  if M.debug then
    print(string.format("%s.addDecal()\ndecalData:\n%s\n### ######## ###", logTag, dumps(decalData)))
  end
    if M.debug then
      print(string.format("%s.addPathDataPoint()\nlayerData:\n%s\n### ######## ###", logTag, dumps(layerData)))
    end
  if M.debug then
    print(string.format("%s.addFillLayer()\nlayerData:\n%s\n### ######## ###", logTag, dumps(layerData)))
  end
  if M.debug then
    print(string.format("%s.addTextureFillLayer()\nlayerData:\n%s\n### ######## ###", logTag, dumps(layerData)))
  end
  if M.debug then
    print(string.format("%s.addGroup()\nlayerData:\n%s\n### ######## ###", logTag, dumps(layerData)))
  end
  if M.debug then
    print(string.format("%s.addLinkedSet()\nlayerData:\n%s\n### ######## ###", logTag, dumps(layerData)))
  end
  if M.debug then
    print(string.format("%s.addBrushStrokeLayer()\nlayerData:\n%s\n### ######## ###", logTag, dumps(layerData)))
  end
          if M.debug then
            print(string.format("%s - Material '%s' has been added", logTag, materialName))
          end
          if M.debug then
            print(string.format("%s - Material set to '%s'", logTag, materialName))
          end
        if M.debug then
          print(string.format("%s - Material set to '%s'", logTag, mat1[2]))
        end
        if M.debug then
          print(string.format("%s - Material set to '%s'", logTag, mat2[2]))
        end
      end
      print(string.format("%s - Not able to set the default material", logTag))
M.setLayerVisibility = function(layerUid_string, visibility_bool)
  if visibility_bool == nil then print(string.format("%s.setLayerVisibility(): 'visibility_bool' argument must be given.", logTag)) return end
  local layer = M.getLayerByUid(layerUid_string)
  if not vehicleObj then
    print(string.format("%s.bakeLayers(layers): Can't bake layers, vehicle's missing.", logTag))
    return
  if M.debug then
    print(string.format("%s.bakeLayers(layers)\nresult:\n%s\n### ######## ###", logTag, dumps(res)))
  end
  if M.debug then
    print(string.format("%s.highlightLayer(decal)\ndecal:\n%s\n### ######## ###", logTag, dumps(layer_table)))
  end
  if M.debug then
    print(string.format("%s.highlightLayerByUid(decal)\ndecal:\n%s\n### ######## ###", logTag, dumps(layer)))
  end
  if not res then
    print(string.format("%s.reprojectLayers(): Failed", logTag))
    return
  if not res then
    print(string.format("%s.getLayerByUid(layerUid_string): No layer found with given uid '%s'", logTag, layerUid_string))
  end
  if not fromLayer then
    print(string.format("%s.setLayer(layerData_table, doReproject_bool): Couldn't find layer for layerUid '%s'. Can't update layer.", logTag, layerData_table.uid))
    return
  if M.debug then
    print(string.format("moveLayer, from: %d fromParentUid: %s, to: %d toParentUid: %s", from_number or -1, fromParentUid_string or "nil", to_number or -1, toParentUid_string or "nil"))
  end
  if layer.uid == toParentUid_string then
    print(string.format("Can't make a layer its own child. Aborting moving layer '%s'", layer.name))
    return
    else
      print(string.format("%s : Can't find Dynamic Decals preset material: %s", logTag, matSkinPresetName))
    end
  if found == 0 then
    print(string.format("%s : No materials skin preset has been found", logTag))
    return

  print(string.format("%s : Skin files exported to '%s'", logTag, modDirectory))
    if not referenceLayerUid then
      print("'referenceLayerUid' is needed in order to be able to move the layers")
      return
@/lua/ge/extensions/flowgraph/nodes/gfx/dof.lua
  else
    --print(" self.mode = " .. tostring(self.mode) .. " / self.timer = " .. tostring(self.timer) .. ' / fadeTime = ' .. tostring(fadeTime))
    local newVal = 0
@/lua/ge/extensions/editor/scriptAIManager.lua

  --print("camDist = " .. tostring(camDist))
  local cutoffPointSq = math.min(200, math.max(100, camDist))
  local cutoffPointSq = math.min(200, math.max(100, camDist))
  --print("cutoffPoint = " .. tostring(cutoffPointSq))
  cutoffPointSq = cutoffPointSq * cutoffPointSq
local function onVehicleSubmitRecording(vehId, data)
  --print(' * got data: ' .. tostring(vehId)) -- .. ' : ' .. dumps(data))
  recordings[vehId] = data
@/lua/ge/extensions/flowgraph/nodes/math/smoothers/linear.lua
    self.oldSet = self.pinIn.set.value
    --print(self.oldSet)
    self.smoother:set(self.oldSet)
@/lua/ge/extensions/flowgraph/nodes/types/transform.lua
function C:showProperties()
  --print("Properties Shown.")
function C:hideProperties()
  --print("Properties Hidden")
  self._oldGizmoMode = editor.getAxisGizmoMode()
@/lua/ge/extensions/editor/gen/exp_solidflex.lua
--    if indrag and not yes then return end
    print(ms)
    if U.out.f then
W.init = function()
--        print('>> init:')
    cvneigh = nil
    end
--        print('?? if_MESH_cs:'..tostring(id))
end
                    nil, nil, 'MultiSelectButton') then
        --				print('?? res_CLICK:')
                    env.onVal('scale_reset')
@/lua/ge/extensions/editor/dynamicDecals/vehicleColorPalette.lua
          if im.Button(string.format("Dump##LoadVehicleColorPalette_dumpButton_%d%s", k, guiId)) then
            print(dumps(palette))
          end
@/lua/vehicle/controller/braking/postCrashBrake.lua
    if (abs(sensors.gx2) > brakeThreshold or abs(sensors.gy2) > brakeThreshold) or ((sensors.gz2 - powertrain.currentGravity) > brakeThreshold) then
      -- print(abs(sensors.gx2))
      -- print(abs(sensors.gy2))
      -- print(abs(sensors.gx2))
      -- print(abs(sensors.gy2))
      -- print((sensors.gz2))
      -- print(abs(sensors.gy2))
      -- print((sensors.gz2))
      -- print("---")
      -- print((sensors.gz2))
      -- print("---")
      state = "braking"
@/lua/common/extensions.lua

    --print("Unloading "..vmType.." extension: "..dumps(extName, extPath).."\n"..debug.tracesimple())
    --print("Unloading "..vmType.." extension: "..dumps(extName, extPath))
    --print("Unloading "..vmType.." extension: "..dumps(extName, extPath).."\n"..debug.tracesimple())
    --print("Unloading "..vmType.." extension: "..dumps(extName, extPath))

  --print("Loading "..vmType.." extension: "..dumps(extName, extPath).."\n"..debug.tracesimple())
  --print("Loading "..vmType.." extension: "..dumps(extName, extPath))
  --print("Loading "..vmType.." extension: "..dumps(extName, extPath).."\n"..debug.tracesimple())
  --print("Loading "..vmType.." extension: "..dumps(extName, extPath))
  --dump{vmType, "LOADING EXT: ", extPath}
        local extCallName = "extensions."..m.__extensionName__..'.'..funcName
        print("->"..extCallName)
        func(...)
      if func ~= nop and type(func) == 'function' then
        print(m.__extensionName__..'.'..funcName)
        hasHook = true
  if hasHook then
    print('-')
  end
    local k = v.__extensionName__
    --print("k="..tostring(k) .. " = " .. tostring(v))
    if (filter == nil or k == filter) and type(v) == 'table' and (v['onDeserialized'] ~= nil or v['onDeserialize'] ~= nil) and data[k] ~= nil then
  if key == nil then return nil end
  --print('__index called: ' .. tostring(tbl) .. ', ' .. tostring(key))
@/gameplay/missionTypes/delivery/editor.lua
    mission.careerSetup.starOutroTexts[defaultStarKeysSorted[keyIdx]] = mission.missionTypeData[messageKeys[i]]
    print("Set Star " .. defaultStarKeysSorted[keyIdx] .. " outro text to: " .. mission.missionTypeData[messageKeys[i]])
  end
  mission.careerSetup.starOutroTexts['noStarUnlocked'] = mission.missionTypeData['failMessage']
  print("Set Star " .. 'noStarUnlocked' .. " outro text to: " .. mission.missionTypeData['failMessage'])
@/lua/common/libs/copas/copas/semaphore.lua
  local count = self.count + given
  --print("now at",count, ", after +"..given)
  if count > self.max then
  local self = registry[co]
  --print("checking timeout ", co)
      self.to_flags[co] = true
      --print("marked timeout ", co)
      copas.wakeup(co)
@/lua/ge/extensions/ui/vehicleSelector/general.lua
  local callback = function(a,b,c,d)
    print("callback")
    dump(a) dump(b) dump(c) dump(d)
  ui_vehicleSelector_detailsInteraction.setExitCallback(function()
    print("exit callback")
    callback()
  ui_vehicleSelector_detailsInteraction.setExitCallback(function()
    print("exit callback")
    callback()
@/lua/ge/extensions/scenario/speedGoal.lua
  end
  --print(instance.value.minSpeed .. " " ..fobjData.vel:length())
  if (instance.value.minSpeed and fobjData.vel:length() < instance.value.minSpeed) or (instance.value.maxSpeed and fobjData.vel:length() > instance.value.maxSpeed) then
@/lua/common/libs/timerwheel/timerwheel.lua
  -- local cb = function(arg)
  --   print("timer executed with: ", arg)  --> "timer executed with: hello world"
  -- end
  -- if t then
  --   print("next timer expires in ", t," seconds")
  -- else
  -- else
  --   print("no timer scheduled for the next 10 seconds")
  -- end
@/lua/console/benchphysics.lua
    t = hp:stop()
    --print("this took "..t..' ms, which is '..(t / frames).." ms per update")
    return t/frames
    file:close()
    print(" done!")
end
@/lua/ge/extensions/editor/flowgraph/nodePreview.lua
  self.mode = "node"
  --print("Setting Node!")
end
  self.mode = "graph"
 -- print("Setting Graph!")
end
    elseif self.mode == "graph" then
      --print(self.hover.name)
      if not self.hoverInstance or self.hover.name ~= self.lastHoverPath then
        --self.hoverInstance = self.hover.create(self.mgr, self.hover)
      --print("Made Graph...")
@/lua/common/jbeam/sections/events.lua
      if not lnk.targetEventId then
        print("targetEventId is missing: " .. dumps(lnk))
        goto continue2
      if not lnk.triggerId then
        print("triggerId is missing or wrong: " .. dumps(lnk))
        goto continue2
      if not lnk.action then
        print("action is missing: " .. dumps(lnk))
        goto continue2
      if not vehicle.events[lnk.targetEventId] then
        print("targetEvent is missing / wrong: " .. dumps(lnk))
        goto continue2
      if not lnk.triggerId then
        print("triggerId is missing or wrong: " .. dumps(lnk))
        goto continue3
      if not lnk.triggerInput then
        print("triggerInput is missing: " .. dumps(lnk))
        goto continue3
      if not lnk.inputAction then
        print("inputAction is missing: " .. dumps(lnk))
        goto continue3
@/lua/vehicle/controller/pneumatics/liftAxleControl.lua
  maximumSupplyPressure = clamp(maximumSupplyPressure + maximumSupplyPressureChangeRate * dt, max(powertrain.currentEnvPressure, minMaximumSupplyPressure), maxMaximumSupplyPressure)
  --print(maximumSupplyPressure)
  electrics.values[mainAirbagsPressureEletricsName] = actuatorsControllerMain.getAveragePressure(mainAirbagsGroupName) - powertrain.currentEnvPressure
  electrics.values[liftAxleControlModeEletricsName] = currentMode == modes.drop and 1 or 0
  --print(electrics.values[mainAirbagsPressureEletricsName])
end
@/lua/ge/extensions/core/environment.lua
    gm.collisiontype = particles.getOrAddMaterialIDByName(materials, v.collisiontype)
    --print(v.collisiontype .. ' -> ' .. tostring(gm.collisiontype))
  end
    be:setGroundModel(newName, gm)
    --print("****** setting groundmodel: " .. tostring(newName))
    -- save them in lua so we could work with them later
local function onClientPostStartMission(levelPath)
  --print("onClientPreStartMission: " .. tostring(levelPath))
  envObjectIdCache = {}
@/lua/vehicle/main.lua
function updateCorePhysicsStepEnabled()
  -- print("Controller: " .. tostring(controller.isPhysicsStepUsed()))
  -- print("Powertrain: " .. tostring(powertrain.isPhysicsStepUsed()))
  -- print("Controller: " .. tostring(controller.isPhysicsStepUsed()))
  -- print("Powertrain: " .. tostring(powertrain.isPhysicsStepUsed()))
  -- print("Wheels: " .. tostring(wheels.isPhysicsStepUsed()))
  -- print("Powertrain: " .. tostring(powertrain.isPhysicsStepUsed()))
  -- print("Wheels: " .. tostring(wheels.isPhysicsStepUsed()))
  -- print("Thrusters: " .. tostring(thrusters.isPhysicsStepUsed()))
  -- print("Wheels: " .. tostring(wheels.isPhysicsStepUsed()))
  -- print("Thrusters: " .. tostring(thrusters.isPhysicsStepUsed()))
  -- print("Hydros: " .. tostring(hydros.isPhysicsStepUsed()))
  -- print("Thrusters: " .. tostring(thrusters.isPhysicsStepUsed()))
  -- print("Hydros: " .. tostring(hydros.isPhysicsStepUsed()))
  -- print("Beamstate: " .. tostring(beamstate.isPhysicsStepUsed()))
  -- print("Hydros: " .. tostring(hydros.isPhysicsStepUsed()))
  -- print("Beamstate: " .. tostring(beamstate.isPhysicsStepUsed()))
  -- print("---")
  -- print("Beamstate: " .. tostring(beamstate.isPhysicsStepUsed()))
  -- print("---")
  obj:setPhysicsStepEnabled(controller.isPhysicsStepUsed() or powertrain.isPhysicsStepUsed() or wheels.isPhysicsStepUsed() or thrusters.isPhysicsStepUsed() or hydros.isPhysicsStepUsed() or beamstate.isPhysicsStepUsed() or protocols.isPhysicsStepUsed() or extensionsHook ~= nop)
--function onUnstableNode(nodeId)
--  print("onUnstableNode: " .. nodeId)
--end
function onCouplerFound(nodeId, obj2id, obj2nodeId, nodeDist)
  -- print('couplerFound'..','..nodeId..','..obj2nodeId..','..obj2id)
  beamstate.couplerFound(nodeId, obj2id, obj2nodeId, nodeDist)
function onCouplerAttached(nodeId, obj2id, obj2nodeId, attachSpeed, attachEnergy)
  -- print('couplerAttached'..','..nodeId..','..obj2nodeId..','..obj2id..','..attachSpeed)
  beamstate.onCouplerAttached(nodeId, obj2id, obj2nodeId, attachSpeed, attachEnergy)
function onCouplerDetached(nodeId, obj2id, obj2nodeId, breakForce)
  -- print('couplerDetached'..','..nodeId..','..obj2nodeId..','..obj2id..','..breakForce)
  beamstate.onCouplerDetached(nodeId, obj2id, obj2nodeId, breakForce)
@/lua/ge/extensions/gameplay/sites/zone.lua
      local steps = math.max(math.floor((dist-0.1) / (maxStep)), 1)
      --print("from: " .. dumps(cur) .. " to " .. dumps(nex))
      --print(string.format("Distance: %0.2f, steps: %d", dist, steps))
      --print("from: " .. dumps(cur) .. " to " .. dumps(nex))
      --print(string.format("Distance: %0.2f, steps: %d", dist, steps))
      for i = 0, steps-1 do
        table.insert(newVerts, {pos = p})
        --print("Adding: "..dumps(p))
      end
@/lua/ge/extensions/editor/vehicleEditor/staticEditor/veJBeamVariablesChecker.lua
  end
  print('Done!')
end
@/gameplay/missionTypes/drift/editor.lua
    mission.careerSetup.starOutroTexts[defaultStarKeysSorted[keyIdx]] = mission.missionTypeData[messageKeys[i]]
    print("Set Star " .. defaultStarKeysSorted[keyIdx] .. " outro text to: " .. mission.missionTypeData[messageKeys[i]])
  end
  mission.careerSetup.starOutroTexts['noStarUnlocked'] = mission.missionTypeData['failedText']
  print("Set Star " .. 'noStarUnlocked' .. " outro text to: " .. mission.missionTypeData['failedText'])
@/lua/ge/extensions/gameplay/rally/tools/rallyToolbox.lua
  if self.debug.drawKdTreeClosestPacenoteWaypoint then
    -- print('debug closest waypoint')
    if self.kdStatePacenoteWaypoints then
    if self.kdStatePacenoteWaypoints then
      -- print('kd state pacenote waypoints')
      local item = self.pacenoteWaypoints[self.kdStatePacenoteWaypoints.item_id]
@/lua/common/jbeam/expressionParser.lua
      if label then
        print(tostring(label) ..' = ' .. tostring(val))
      else
      else
        print(tostring(val))
      end
@/lua/ge/extensions/core/busRouteManager.lua
  local levelDir, filename, ext = path.split(missionFile, "(.-)([^/]-([^%.]*))$")
  --print("levelDir="..levelDir.."  filename=".. filename)
  load(levelDir)
@/lua/ge/extensions/editor/dynamicDecals/debugTextures.lua
  -- if not textureSet then textureSet = api.getTextureSet() end
  -- print("debug:sectionGui")
  if textureSet then
@/lua/common/utils/wsUtils.lua
      -- received magic, send some back
      --print(">>> upload successful, testing download ...")
      server:sendData(e.peerId, magicDown)
      -- received magic, send some back
      --print(">>> download successful")
      res = true
@/lua/vehicle/controller/propAnimation/googlyEyes.lua
  sizeCoef = sizeCoefSmoother:get(sizeCoef, dt)
  --print(sizeCoef)
@/lua/ge/extensions/core/online.lua
local function downloadURL(uri, finishCallback, postDataTbl, outfile, reqType, progressCallback, isJson, postFileName, authorizationHeader)
  --print('=== downloadURL ===')
  --print(' uri = ' .. dumps(uri) .. ' / ' .. type(uri))
  --print('=== downloadURL ===')
  --print(' uri = ' .. dumps(uri) .. ' / ' .. type(uri))
  --print(' finishCallback = ' .. dumps(finishCallback) .. ' / ' .. type(finishCallback))
  --print(' uri = ' .. dumps(uri) .. ' / ' .. type(uri))
  --print(' finishCallback = ' .. dumps(finishCallback) .. ' / ' .. type(finishCallback))
  --print(' postDataTbl = ' .. dumps(postDataTbl) .. ' / ' .. type(postDataTbl))
  --print(' finishCallback = ' .. dumps(finishCallback) .. ' / ' .. type(finishCallback))
  --print(' postDataTbl = ' .. dumps(postDataTbl) .. ' / ' .. type(postDataTbl))
  --print(' outfile = ' .. dumps(outfile) .. ' / ' .. type(outfile))
  --print(' postDataTbl = ' .. dumps(postDataTbl) .. ' / ' .. type(postDataTbl))
  --print(' outfile = ' .. dumps(outfile) .. ' / ' .. type(outfile))
  --print(' reqType = ' .. dumps(reqType) .. ' / ' .. type(reqType))
  --print(' outfile = ' .. dumps(outfile) .. ' / ' .. type(outfile))
  --print(' reqType = ' .. dumps(reqType) .. ' / ' .. type(reqType))
  --print(' progressCallback = ' .. dumps(progressCallback) .. ' / ' .. type(progressCallback))
  --print(' reqType = ' .. dumps(reqType) .. ' / ' .. type(reqType))
  --print(' progressCallback = ' .. dumps(progressCallback) .. ' / ' .. type(progressCallback))
  --print(' isJson = ' .. dumps(isJson) .. ' / ' .. type(isJson))
  --print(' progressCallback = ' .. dumps(progressCallback) .. ' / ' .. type(progressCallback))
  --print(' isJson = ' .. dumps(isJson) .. ' / ' .. type(isJson))
  d.priv.authorizationHeader = authorizationHeader
  -- print('calling API: ' .. tostring(reqType) .. ' | request: ' .. dumps(d))
@/lua/vehicle/controller/drivingDynamics/sensors/sensorHub.lua
local function updateGFX(dt)
  --print(M.accNoiseX + M.accNoiseY + M.accNoiseZ)
  M.gravity = obj:getGravity()
@/lua/ge/extensions/flowgraph/nodes/environment/planet.lua
  for _, side in ipairs(rots) do
    --print("Doing side " .. side.id)
    local square = self:getSquare(cubeGrid, #cubeGrid/3, side.id, sLength)
    local vehPos = veh:getPosition()
    --  print("debug")
    debugDrawer:drawSphere(center, self.pinIn.radius.value or 0, ColorF(0,0,1,0.1))
    end
    if not ret then print("No RET! " .. index ..  " " .. dumps(startPos) .. dumps(info)) end
  hm = M.warpSphere(250, hm)
  print("Successfully warped")
  local mesh = M.createheightmapMesh(hm, 10,"procheightmapMat")
@/lua/ge/extensions/flowgraph/modules/vehicleModule.lua
function C:storeFuelAmount(id)
  --print("Storing fuel...")
  local fun = function(ret)
    local prefab = Prefab.getPrefabByChild(scenetree.findObjectById(id))
    --print("preabid: " .. prefab:getID())
    if prefab then
@/lua/vehicle/controller.lua
  --  for k,v in pairs(sortedControllers) do
  --    print(string.format("%s -> %d", v.name, v.order))
  --  end
  local disclaimer = "\r\n\r\nCopy the contents of the method(s) below into their respective analogs in controller.lua and make sure the methods are not commented.\r\ncontroller.lua will automatically execute these hardcoded versions rather than using its internal loops\r\n \r\n "
  print(disclaimer)
  if callType == "update" or callType == nil then
  if callType == "update" or callType == nil then
    print("local function updateFixedStepDebug(dt)")
    print("  --Controllers not in this list do not have a matching method to call")
    print("local function updateFixedStepDebug(dt)")
    print("  --Controllers not in this list do not have a matching method to call")
    for i, controller in ipairs(sortedControllers) do
      if controller.updateFixedStep ~= nil then
        print("  sortedControllers[" .. i .. "].updateFixedStep(dt) -- " .. tostring(controller.typeName))
      end
    end
    print("end")
    print(" ")
    print("end")
    print(" ")

    print("local function updateDebug(dt)")
    print("  --Controllers not in this list do not have a matching method to call")
    print("local function updateDebug(dt)")
    print("  --Controllers not in this list do not have a matching method to call")
    for i, controller in ipairs(sortedControllers) do
      if controller.update ~= nil then
        print("  sortedControllers[" .. i .. "].update(dt) -- " .. controller.typeName)
      end

    print(" ")
    print("  fixedStepTimer = fixedStepTimer + dt")
    print(" ")
    print("  fixedStepTimer = fixedStepTimer + dt")
    print("  if fixedStepTimer >= fixedStepTime then")
    print("  fixedStepTimer = fixedStepTimer + dt")
    print("  if fixedStepTimer >= fixedStepTime then")
    print("    updateFixedStepDebug(fixedStepTimer)")
    print("  if fixedStepTimer >= fixedStepTime then")
    print("    updateFixedStepDebug(fixedStepTimer)")
    print("    fixedStepTimer = fixedStepTimer - fixedStepTime")
    print("    updateFixedStepDebug(fixedStepTimer)")
    print("    fixedStepTimer = fixedStepTimer - fixedStepTime")
    print("  end")
    print("    fixedStepTimer = fixedStepTimer - fixedStepTime")
    print("  end")
    print("end")
    print("  end")
    print("end")
    print(" ")
    print("end")
    print(" ")
  end
  if callType == "updateGFX" or callType == nil then
    print("local function updateGFXDebug(dt)")
    print("  --Controllers not in this list do not have a matching method to call")
    print("local function updateGFXDebug(dt)")
    print("  --Controllers not in this list do not have a matching method to call")
    for i, controller in ipairs(sortedControllers) do
      if controller.updateGFX ~= nil then
        print("  sortedControllers[" .. i .. "].updateGFX(dt) -- " .. tostring(controller.typeName))
      end
    end
    print("end")
    print(" ")
    print("end")
    print(" ")
  end
  if callType == "updateWheelsIntermediate" or callType == nil then
    print("local function updateWheelsIntermediateDebug(dt)")
    print("  --Controllers not in this list do not have a matching method to call")
    print("local function updateWheelsIntermediateDebug(dt)")
    print("  --Controllers not in this list do not have a matching method to call")
    for i, controller in ipairs(sortedControllers) do
      if controller.updateWheelsIntermediate ~= nil then
        print("  sortedControllers[" .. i .. "].updateWheelsIntermediate(dt) -- " .. tostring(controller.typeName))
      end
    end
    print("end")
    print(" ")
    print("end")
    print(" ")
  end
  if callType == "beamBroke" or callType == nil then
    print("local function beamBrokeDebug(id, energy)")
    print("  --Controllers not in this list do not have a matching method to call")
    print("local function beamBrokeDebug(id, energy)")
    print("  --Controllers not in this list do not have a matching method to call")
    for i, controller in ipairs(sortedControllers) do
      if controller.beamBroke ~= nil then
        print("  sortedControllers[" .. i .. "].beamBroke(id, energy) -- " .. tostring(controller.typeName))
      end
    end
    print("end")
    print(" ")
    print("end")
    print(" ")
  end
  if callType == "beamDeformed" or callType == nil then
    print("local function beamDeformedDebug(id, ratio)")
    print("  --Controllers not in this list do not have a matching method to call")
    print("local function beamDeformedDebug(id, ratio)")
    print("  --Controllers not in this list do not have a matching method to call")
    for i, controller in ipairs(sortedControllers) do
      if controller.beamDeformed ~= nil then
        print("  sortedControllers[" .. i .. "].beamDeformed(id, ratio) -- " .. tostring(controller.typeName))
      end
    end
    print("end")
    print(" ")
    print("end")
    print(" ")
  end
  if callType == "nodeCollision" or callType == nil then
    print("local function nodeCollisionDebug(p)")
    print("  --Controllers not in this list do not have a matching method to call")
    print("local function nodeCollisionDebug(p)")
    print("  --Controllers not in this list do not have a matching method to call")
    for i, controller in ipairs(sortedControllers) do
      if controller.nodeCollision ~= nil then
        print("  sortedControllers[" .. i .. "].nodeCollision(p) -- " .. tostring(controller.typeName))
      end
    end
    print("end")
    print(" ")
    print("end")
    print(" ")
  end
  if callType == "onCouplerFound" or callType == nil then
    print("local function onCouplerFoundDebug(nodeId, obj2id, obj2nodeId)")
    print("  --Controllers not in this list do not have a matching method to call")
    print("local function onCouplerFoundDebug(nodeId, obj2id, obj2nodeId)")
    print("  --Controllers not in this list do not have a matching method to call")
    for i, controller in ipairs(sortedControllers) do
      if controller.onCouplerFound ~= nil then
        print("  sortedControllers[" .. i .. "].onCouplerFound(nodeId, obj2id, obj2nodeId) -- " .. tostring(controller.typeName))
      end
    end
    print("end")
    print(" ")
    print("end")
    print(" ")
  end
  if callType == "onCouplerAttached" or callType == nil then
    print("local function onCouplerAttachedDebug(nodeId, obj2id, obj2nodeId, attachSpeed, attachEnergy)")
    print("  --Controllers not in this list do not have a matching method to call")
    print("local function onCouplerAttachedDebug(nodeId, obj2id, obj2nodeId, attachSpeed, attachEnergy)")
    print("  --Controllers not in this list do not have a matching method to call")
    for i, controller in ipairs(sortedControllers) do
      if controller.onCouplerAttached ~= nil then
        print("  sortedControllers[" .. i .. "].onCouplerAttached(nodeId, obj2id, obj2nodeId, attachSpeed, attachEnergy) -- " .. tostring(controller.typeName))
      end
    end
    print("end")
    print(" ")
    print("end")
    print(" ")
  end
  if callType == "onCouplerDetached" or callType == nil then
    print("local function onCouplerDetachedDebug(nodeId, obj2id, obj2nodeId, breakForce)")
    print("  --Controllers not in this list do not have a matching method to call")
    print("local function onCouplerDetachedDebug(nodeId, obj2id, obj2nodeId, breakForce)")
    print("  --Controllers not in this list do not have a matching method to call")
    for i, controller in ipairs(sortedControllers) do
      if controller.onCouplerDetached ~= nil then
        print("  sortedControllers[" .. i .. "].onCouplerDetached(nodeId, obj2id, obj2nodeId, breakForce) -- " .. tostring(controller.typeName))
      end
    end
    print("end")
    print(" ")
    print("end")
    print(" ")
  end
  if callType == "onGameplayEvent" or callType == nil then
    print("local function onGameplayEventDebug(eventName, ...)")
    print("  --Controllers not in this list do not have a matching method to call")
    print("local function onGameplayEventDebug(eventName, ...)")
    print("  --Controllers not in this list do not have a matching method to call")
    for i, controller in ipairs(sortedControllers) do
      if controller.onGameplayEvent ~= nil then
        print("  sortedControllers[" .. i .. "].onGameplayEvent(eventName, ...) -- " .. tostring(controller.typeName))
      end
    end
    print("end")
    print(" ")
    print("end")
    print(" ")
  end
  if callType == "debugDraw" or callType == nil then
    print("local function debugDrawDebug(focusPos)")
    print("  --Controllers not in this list do not have a matching method to call")
    print("local function debugDrawDebug(focusPos)")
    print("  --Controllers not in this list do not have a matching method to call")
    for i, controller in ipairs(sortedControllers) do
      if controller.debugDraw ~= nil then
        print("  sortedControllers[" .. i .. "].debugDraw(focusPos) -- " .. tostring(controller.typeName))
      end
    end
    print("end")
    print(" ")
    print("end")
    print(" ")
  end
  if callType == "settingsChanged" or callType == nil then
    print("local function settingsChangedDebug()")
    print("  --Controllers not in this list do not have a matching method to call")
    print("local function settingsChangedDebug()")
    print("  --Controllers not in this list do not have a matching method to call")
    for i, controller in ipairs(sortedControllers) do
      if controller.settingsChanged ~= nil then
        print("  sortedControllers[" .. i .. "].settingsChanged() -- " .. tostring(controller.typeName))
      end
    end
    print("end")
    print(" ")
    print("end")
    print(" ")
  end
@/lua/common/jbeam/sections/meshs.lua
        if prop.mesh ~= p:getMeshName() then
          --print("GE renamed the prop mesh: " .. tostring(prop.mesh) .. ' > ' .. tostring(p:getMeshName()))
          prop.originalMesh = prop.mesh
          if flexbody.mesh ~= f:getMeshName() then
            --print("GE renamed the flexbody mesh: " .. tostring(flexbody.mesh) .. ' > ' .. tostring(f:getMeshName()))
            flexbody.originalMesh = flexbody.mesh
@/lua/ge/extensions/editor/api/gui.lua
  if not wstateFileExists then
    print("Windows state file does not exists: " .. finalFilename)
  end
@/lua/ge/extensions/gameplay/missions/missionTypes/editorHelper.lua
  if im.Button("...##..." .. e._id) then
    --print("Editor Helper File Context Menu " .. e._id)
    im.OpenPopup("Editor Helper File Context Menu " .. e._id)
    field.type = ui_flowgraph_editor.getAutoTypeFromName(field.label)
    --print(string.format("%s (%s) from %s", field.fieldName, field.type, field.elemLabel))
  end
@/lua/vehicle/controller/dragTimer.lua
    guihooks.message("Results are in!", 2, "vehicle.dragtimer.status")
    print("Drag results:")
    print("60ft time: " .. sixtyFeetTime .. "s")
    print("Drag results:")
    print("60ft time: " .. sixtyFeetTime .. "s")
    print("1/8 time: " .. eighthMileTime .. "s")
    print("60ft time: " .. sixtyFeetTime .. "s")
    print("1/8 time: " .. eighthMileTime .. "s")
    print("1/8 speed: " .. (eighthMileSpeed * 2.2369362920544) .. "mph")
    print("1/8 time: " .. eighthMileTime .. "s")
    print("1/8 speed: " .. (eighthMileSpeed * 2.2369362920544) .. "mph")
    print("1/4 time: " .. quarterMileTime .. "s")
    print("1/8 speed: " .. (eighthMileSpeed * 2.2369362920544) .. "mph")
    print("1/4 time: " .. quarterMileTime .. "s")
    print("1/4 speed: " .. (quarterMileSpeed * 2.2369362920544) .. "mph")
    print("1/4 time: " .. quarterMileTime .. "s")
    print("1/4 speed: " .. (quarterMileSpeed * 2.2369362920544) .. "mph")
@/lua/ge/extensions/flowgraph/baseModule.lua
  for k, v in pairs(derivedClass) do
    --print('k = ' .. tostring(k) .. ' = '.. tostring(v) )
    o[k] = v
@/lua/ge/extensions/flowgraph/basenode.lua
  __newindex = function(tbl, key, value)
    print("Tried to set value of empty pin! Not allowed.")
    print(debug.tracesimple())
    print("Tried to set value of empty pin! Not allowed.")
    print(debug.tracesimple())
  end
      log("E",logTag,"Duplicate ID error! Node")
      print(debug.tracesimple())
    end
    __index = function(self, key) return emptyPin end,
    __newindex = function(self, key, value) log('E', self.mgr.logTag, 'cannot write to input pin: ' .. tostring(key)) print(debug.tracesimple()) end,
  })
  else
    print('empty trigger! ('..self.nodeType.. " - " .. self.id .. ")")
  end
function C:_doubleClicked()
  --print(self.id .. ' ' .. self.name .. ' double-clicked')
  if self.doubleClicked and type(self.doubleClicked) == 'function' then
      if im.Button("Log trigger code") then
        print("Trigger Code for " .. self.id .. " : " ..self.name .. " is:")
        print(self._triggerCode)
        print("Trigger Code for " .. self.id .. " : " ..self.name .. " is:")
        print(self._triggerCode)
      end
  if self.nodeType == 'vehicle/special/customVlua' then
   -- print(debug.tracesimple())
   --dump(nodeData)
  for k, v in pairs(derivedClass) do
    --print('k = ' .. tostring(k) .. ' = '.. tostring(v) )
    o[k] = v
@/lua/ge/extensions/util/docCreator.lua
  exportDataCommon(job)
  print("DONE")
  if quitOnDone then
@/lua/ge/extensions/ui/gameplaySelector/tiles.lua

  --print(string.format("handleDetailGameplayPath: clusterMode: %s, clusterKey: %s, groupKey: %s, groupName: %s, pathKeys: %s", clusterMode, clusterKey, groupKey, groupName, pathKeys))
@/lua/common/utils/filterchain.lua
function Interval:get(dt, ...)
    --print('dt: ' .. tostring(dt) .. '/ ' .. tostring(self.timer) .. ' ### ' .. tostring(self.state) )
    self.timer = self.timer + dt
        local s = getGenerator('...')
        print(s)
        data.update = load(s, nil, "t", data)()
        local s = getGenerator(codeArgs)
        print(s)
        data.updateCode = load(s, nil, "t", data)()
        --local out = led1:update(dt, 1, 2, 3)
        --print('### ' .. timer .. ' = ' .. dumps(unpack({out})))
    end
@/lua/vehicle/controller/powertrainControl/antiLag.lua
      antilagCoef = turboAVPIDController:get(currentTurboAV, turboTargetAV, dt)
      --print("antilagCoef: " .. antilagCoef)
@/lua/console/test_dyncol.lua

--print (BeamEngine:getSlotCount() .. " vehicles spawned")
        BeamEngine:update(1/2000, 1/2000)
        --print(" - "..hp:stop().-" ms")
    end
@/lua/ge/extensions/gameplay/missions/missionManager.lua
  --dump("attemptAbandonMissionWithFade")
  --print(debug.tracesimple())
  if not mission then
  --dump("stop")
  --print(debug.tracesimple())
  data = data or {}
@/lua/ge/extensions/scenario/quickRaceLoader.lua
  for _, levelName in ipairs(files) do
    --print(levelName)
    local levelPath = '/levels/' .. levelName .. '/quickrace/'
        tracks[level][#tracks[level]+1] = file
        --print("added " .. name .." to level " .. level)
      end
@/lua/ge/extensions/ui/console.lua
    if data.EventKey == im.Key_UpArrow then
      --print("UP")
      historyPos = historyPos - 1
    elseif data.EventKey == im.Key_DownArrow then
      --print("DOWN")
      historyPos = historyPos + 1
  -- elseif data.EventFlag == im.InputTextFlags_CallbackCharFilter then
  --   print(data.EventChar)
  elseif data.EventFlag == im.InputTextFlags_CallbackCharFilter and data.EventChar == 96 then --96 = '`'
  local slashed = split(line,"\n")
  -- print("slash "..dumps(slashed))
  if #slashed == 0 then slashed[1]="" end --fix for empty print
      --   if not l then
      --     -- print( string.format("head = %d\ttail=%d\ti=%d",logsHead,logsTail , i   ))
      --     goto continue_skipline
      -- table.sort(idxfilter)
      -- print("---------------------------------------")
      -- im.CalcListClipping(lines_count, lines_height, displayStart, displayEnd);
      -- im.CalcListClipping(lines_count, lines_height, displayStart, displayEnd);
      -- print("cursorY="..dumps(im.GetCursorPosY()).."\tset="..dumps((im.GetCursorPosY() + (displayStart[0]*2 * lines_height))))
      -- im.SetCursorPosY(im.GetCursorPosY() + (displayStart[0]*2 * lines_height));
      -- im.SetCursorPosY(im.GetCursorPosY() + (displayStart[0]*2 * lines_height));
      -- print("lcount="..lines_count.."\t"..dumps(displayStart[0]).."-"..dumps(displayEnd[0]).."\tlen="..dumps(displayEnd[0]-displayStart[0]))
          --   for k,v in pairs(logFiltered) do
          --     if type(v) == number and (i+logsHead+offset) >k and (i+logsHead+offset)<=v then tmp = true; print("brk");break; end
          --   end
          -- end
          -- -- print("logsHead="..dumps(logsHead).."\toffset="..dumps(offset))
          -- prtidx = prtidx .. dumps(i+logsHead+offset)..","
          if not l then
            -- print( string.format("head = %d\ttail=%d\ti=%d",logsHead,logsTail , i   ))
            -- if viewColumn.time[0] then
      if im.Combo2("##cmdctx", comboCurrentItem, comboCtxTxt) then
        --print("context changed")
      end

          --print("> history 1 = " .. dumps(history))
          if history[historyPos] ~= cmd then
          end
          --print("> history 2 = " .. dumps(history))
          historyPos = -1

          --print(" CMD = " .. tostring(cmd))
          if comboCurrentItem[0] == 0 then
              local res, out = executeLuaSandboxed(cmd, 'GEConsole')
              --print(" RES = " .. tostring(res))
              --print(" OUT = " .. dumps(out))
              --print(" RES = " .. tostring(res))
              --print(" OUT = " .. dumps(out))
              if res then
                  --table.insert(console_log_buffer, {'o', tostring(le)})
                  print(le)
                end
  --     im.ImGuiListClipper_Begin(listClip,lines_count,lines_height)
  --     print("----------")
  --     print("lH="..dumps(lines_height).."\tframeH="..dumps(im.GetFrameHeightWithSpacing()))
  --     print("----------")
  --     print("lH="..dumps(lines_height).."\tframeH="..dumps(im.GetFrameHeightWithSpacing()))
  --     while(im.ImGuiListClipper_Step(listClip)) do
  --     while(im.ImGuiListClipper_Step(listClip)) do
  --       print(dumps(listClip.DisplayStart).."--"..dumps(listClip.DisplayEnd))
  --       for i = listClip.DisplayStart,listClip.DisplayEnd,1 do
@/lua/vehicle/extensions/tech/CANBus/ButtonBox.lua
  if not virtualInputDeviceInstance then
    print("no virtual device...")
    return
@/lua/vehicle/controller/vehicleController/shiftLogic/cvtGearbox.lua
    else
      print("unknown auto mode: " .. mode)
    end
@/lua/ge/extensions/editor/missionEditor/genericTypeData.lua
              elem.typeInFG = v.type
              print(v.type .. " / " .. elem.type)
              table.insert(self._sortedVars.mismatch, elem)
@/lua/ge/extensions/flowgraph/groupHelper.lua
  end
  --print('graphRect = ' .. dumps(graphRect))

  --print("internalLinks: " .. dumpsz(internalLinks, 1))
  --print("inputLinks: " .. dumpsz(inputLinks, 1))
  --print("internalLinks: " .. dumpsz(internalLinks, 1))
  --print("inputLinks: " .. dumpsz(inputLinks, 1))
  --print("outputLinks: " .. dumpsz(outputLinks, 1))
  --print("inputLinks: " .. dumpsz(inputLinks, 1))
  --print("outputLinks: " .. dumpsz(outputLinks, 1))
  end
  --print('centerPosX = ' .. tostring(centerPosX))
  --print('centerPosY = ' .. tostring(centerPosY))
  --print('centerPosX = ' .. tostring(centerPosX))
  --print('centerPosY = ' .. tostring(centerPosY))
@/lua/ge/extensions/editor/gen/test.lua
			lo('?? if_OBJ:'..tostring(inspect)..':'..tostring(m.obj)..':'..tostring(m:getID())..':'..tostring(originalMesh)) --..':'..tostring(nodes)) --..tostring(editor.getNodes(m)))
--			print('?? to_SER:'..serialize(m.obj))
			print(inspect(getmetatable(m.obj)))
--			print('?? to_SER:'..serialize(m.obj))
			print(inspect(getmetatable(m.obj)))
--			print('??'..tostring(m.obj:getFields()))
			print(inspect(getmetatable(m.obj)))
--			print('??'..tostring(m.obj:getFields()))
		local fields = m.obj:getDynamicFields()
			if i%50 == 0 then
--				print('?? for_i:'..i)
			end
    if not olist then olist = {} end
        print('?? Tst.inject:'..tableSize(olist))
    E = olist.E
M.onUp = function(arg)
        print('?? Tst.onUp:'..tostring(arg)..':'..tostring(E))
--        if true then return end
@/lua/ge/extensions/scenario/waypoints.lua
            local dtOff = dtSim * (1-tNorm)
            --print("closest hit was at " .. tNorm..", saving you " .. dtOff .. "s :)")
            vehWpData.nextWp = nil
@/lua/ge/extensions/editor/gen/terrain.lua
    if to then
        print('?? to_DEL:'..tostring(to)..':'..tostring(tonumber(to))..':'..to:getID())
        to:delete()
    )
        print('??^^^^^^^^^^^^^^^^^^^ if_DONE:'..tostring(done)..':'..tostring(scenetree.findObject('m_plaster_worn_01_bat')))
    to = scenetree.findObject(terrBlockName)
        print('?? if_NEW:'..tostring(to)..':'..tostring(groupEdit))
    groupEdit:addObject(terrBlock)
@/lua/common/libs/luamqtt/mqtt/luasocket.lua
	local ok, err = conn.sock:send(data, i, j)
	-- print("    luasocket.send:", ok, err, require("libs/luamqtt/mqtt/tools").hex(data))
	return ok, err
	-- if ok then
	-- 	print("    luasocket.receive:", size, require("libs/luamqtt/mqtt/tools").hex(ok))
	-- elseif err ~= "timeout" then
	-- elseif err ~= "timeout" then
	-- 	print("    luasocket.receive:", ok, err)
	-- end
@/lua/ge/extensions/gameplay/rally/transcripts/path.lua
--
-- print("Quaternion for 45-degree rotation around Z-axis:", testQ.w, testQ.x, testQ.y, testQ.z)
--
@/lua/ge/extensions/flowgraph/nodes/math/smoothers/sigmoid.lua
    self.oldSet = self.pinIn.set.value
    --print(self.oldSet)
    self.smoother:set(self.oldSet)
@/lua/vehicle/controller/drivingDynamics/CMU.lua
    -- dump(currentDefaultControlParam)
    -- print(debug.traceback())
    return false
@/lua/ge/extensions/core/jobsystem.lua
    if dt > res.maxdt then
      --print(" *** yield taken ***: " .. tostring(dt))
      coroutine.yield()
    else
      --print("*** yield skipped: " .. tostring(dt))
    end
@/lua/vehicle/powertrain/automaticGearbox.lua

  --print (string.format(" INPUT  volumeInput =%0.4f : pitchInput =%6.0d : inputLoad =%0.4f : outputRPMSign=%0.4f", volumeInput, pitchInput, inputLoad, outputRPMSign))
  --print (string.format(" OUTPUT volumeOutput=%0.4f : pitchOutput=%6.0d : outputLoad=%0.4f : outputRPMSign=%0.4f", volumeOutput, pitchOutput, outputLoad, outputRPMSign))
  --print (string.format(" INPUT  volumeInput =%0.4f : pitchInput =%6.0d : inputLoad =%0.4f : outputRPMSign=%0.4f", volumeInput, pitchInput, inputLoad, outputRPMSign))
  --print (string.format(" OUTPUT volumeOutput=%0.4f : pitchOutput=%6.0d : outputLoad=%0.4f : outputRPMSign=%0.4f", volumeOutput, pitchOutput, outputLoad, outputRPMSign))
end
    end
  --print(string.format("Gearratio: %.3f / %.3f", device.gearRatio, device.desiredGearRatio))
  end
@/lua/common/libs/LuLPeg/lulpeg.lua
end
function util.passprint (...) print(...) return ... end
local val_to_str_, key_to_str, table_tostring, cdata_to_str, t_cache
    acc[#acc+1] = "["
    print(#acc)
    for i = 0, #v do
    end
    print(#acc, acc[1], acc[2])
    acc[#acc+1] = "]"
end
function util.expose(v) print(val_to_string(v)) return v end
function util.map (ary, func, ...)
        if dbg then -------------
            print("@!!! Match !!!@", pt)
        end ---------------------
        if dbg then -------------
            print(("-"):rep(30))
            print(pt.pkind)
            print(("-"):rep(30))
            print(pt.pkind)
            LL.pprint(pt)
        if dbg then -------------
            print("!!! Done Matching !!! success: ", success, 
                "final position", final_si, "final cap index", ci,
            if dbg then -------------
            print("trimmed cap index = ", #caps + 1)
            LL.cprint(caps, sbj, 1)
            if dbg then -------------
                print("#values", vi)
                expose(values)
    else
        if dbg then print("Failed") end
        return nil
        return function (pt, offset, prefix)
            print(t_concat{offset,prefix,XXXX})
        end
    choice = [[
        print(offset..prefix.."+")
        local ch, i = {}, 1
    sequence = [=[
        print(offset..prefix.."*")
        local acc, p2 = {}
                    acc[#acc + 1] = pt.aux
                    print(offset..'P( "'..s.char(u.unpack(acc))..'" )')
                else
                    if #acc ~= 0 then
                        print(offset..'P( "'..s.char(u.unpack(acc))..'" )')
                    end
            elseif #acc ~= 0 then
                print(offset..'P( "'..s.char(u.unpack(acc))..'" )')
                acc = {}
    grammar   = [[
        print(offset..prefix.."Grammar")
        for k, pt in pairs(pt.aux) do
    printers[cap] = function (pt, offset, prefix)
        print(offset..prefix..cap)
        LL_pprint(pt.pattern, offset.."  ", "")
    printers[cap] = function (pt, offset, prefix)
        print(offset..prefix..cap.." "..tostring(pt.aux or ""))
        LL_pprint(pt.pattern, offset.."  ", "")
printers["div_string"] = function (pt, offset, prefix)
    print(offset..prefix..'/string "'..tostring(pt.aux or "")..'"')
    LL_pprint(pt.pattern, offset.."  ", "")
    printers[cap] = function (pt, offset, prefix)
        print(offset..prefix..cap.."( "..tostring(pt.aux).." )")
    end
printers["Cb"] = function (pt, offset, prefix)
    print(offset..prefix.."Cb( \""..pt.aux.."\" )")
end
printers["Cc"] = function (pt, offset, prefix)
    print(offset..prefix.."Cc(" ..t_concat(map(pt.aux, tostring),", ").." )")
end
        if caps.openclose[ci] > 0 then 
            print(t_concat({
                            padnum(n),
            local start = caps.bounds[ci]
            print(t_concat({
                            padnum(n),
            ci, n = _cprint(caps, ci + 1, indent + 1, sbj, n + 1)
            print(t_concat({
                            padnum(n),
        else
            print(typ,"is not handled by fixedlen()")
        end
    if LL.warnings and not compat.lua52_len then
        print("Warning: The `__len` metamethod won't work with patterns, "
            .."use `LL.L(pattern)` for lookaheads.")
@/lua/ge/extensions/scenario/timeLimit.lua
      if scenario.finalStatus.finalTime > instance.value.maxTime then
        -- print("inside on raceresult")
        failedGoal(instance)
@/lua/ge/extensions/editor/gen/mesh.lua
	for i,k in pairs(ndgeo.kids) do
--			print('?? for_i:'..i)
--			lo('?? for_KID:'..i..':'..k.name)
--		U.dump(v, '?? if_v:')
--		print(inspect(getmetatable(v)))
--		lo('?? if_v:'..v:getClassName())

--		print('?? DONE:')
	end
      U.lo('>> matReplace:'..tostring(fname))
--      print('>> matReplace:'..tostring(slaxml))
	if not slaxml then return end
		for _,kid in pairs(node.kids) do
      print('?? for_kid:'.._)
    end
      U.lo('<< matReplace:'..fname)
--      print('<< matReplace:'..fname)
end
@/lua/common/libs/copas/copas/lock.lua
  function lock:destroy()
    --print("destroying ",self)
    for i = self.q_tip, self.q_tail do
        self.errors[co] = "destroyed"
        --print("marked destroyed ", co)
        copas.wakeup(co)
      self.errors[self.owner] = "destroyed"
      --print("marked destroyed ", co)
    end
      self.errors[co] = "timeout"
      --print("marked timeout ", co)
      copas.wakeup(co)

    --print("released ", co, err)
    if err ~= "timeout" then
@/lua/ge/extensions/flowgraph/nodes/mission/knockAwayCheck.lua
        else
          print("no mapdata!")
        end
@/lua/ge/extensions/editor/rallyEditor/missionSettings.lua

  -- print(dumps(self.missionSettingsFormData))
  -- print(dumps(self.settings))
  -- print(dumps(self.missionSettingsFormData))
  -- print(dumps(self.settings))
@/lua/ge/extensions/editor/gen/network.lua
    if indrag and not yes then return end
    print(ms)
end
    end
--    print('<< segmentCross:'..x..':'..y)
    return x, y
--U.hightOnCurve = function(p, aheight, decal, start)
--  print('>> hightOnCurve:'..tostring(p)..':'..#aheight..':'..decal:getEdgeCount()..':'..start)
            if dbg == true then
    for i = ifr,start+25 do --*dir,dir do
                if dbg then print('?? hightOnCurve_i:'..i..'/'..start) end
        if (i + 1)*step + 1 > #av then
        if dbg then
            print('?? hc:'..i..'/'..start..':'..decal:getEdgeCount()..':'..step..' pi:'..pi..' pip:'..pip)
        end
        if dbg and pi * pip < 0 then
            print('??___<:'..i..'/'..start..':'..tostring(p)..':'..tostring(ni)..':'..tostring(nip)..':'..p:distanceToLineSegment(ni, nip))
--            adbg[#adbg+1] = {decal:getMiddleEdgePosition(i),ColorF(0,1,1,1), 0.2}
        if pi * pip <= 0 and p:distanceToLineSegment(ni, nip) < w then
    --      print('?? hoc:'..i..':'..pi..':'..pip..' ni:'..tostring(ni)..' nip:'..tostring(nip))
            pi = math.abs(pi) --/(p - ni):length()/(nip - ni):length()
                av[(i + 1)*step + 1].z * pi/(pi + pip)
--            print('<< hightOnCurve:'..i..'/'..start..' p:'..tostring(p))
    --        local h = aheight[i]*(1 - pi/(pi + pip)) + aheight[i+1]*pi/(pi + pip)
    --        local h = aheight[i]*(1 - pi/(pi + pip)) + aheight[i+1]*pi/(pi + pip)
    --      print('<< hightOnCurve:'..i..':'..(i + 1)..' h:'..aheight[i]..':'..aheight[i+1]..':'..pi..':'..pip..' h:'..h)
            return h
        end
--    print('?? for_node:'..i..':'..tostring(cp)..' d:'..(p-cp):length())
    end
        -- assign height of closest vertex
        print('?? hightOnCurve:'..imi..':'..#av)
        return av[imi*step + 1].z
    end
    print('!!!!!!!!!!!!!! hightOnCurve.NONE:')
--  print('<< hightOnCurve:'..imi..'/'..decal:getEdgeCount()..':'..aheight[imi])
    print('!!!!!!!!!!!!!! hightOnCurve.NONE:')
--  print('<< hightOnCurve:'..imi..'/'..decal:getEdgeCount()..':'..aheight[imi])
--  return aheight[imi]
    local a, b = c1.r, c2.r
--    print('>> circleFit:'..stamp..':'..r..' anode:'..#anode..' iter:'..nIter..' d:'..tostring(math.abs(d - (a + b)))..':'..tostring(massCenter))
    vn = vn:normalized()
    local dmiddle, flip = 0, 1
--    print('?? circleFit_d:'..stamp..':'..tostring(d)..':'..tostring(vn))
    -- get center position
    local x, y
--    print('?? circleFit.pre_int:'..#anode..':'..d..':'..tostring(c1.pos)..':'..tostring(c2.pos)..':'..(d -(a+b)))
    if math.abs(d - (a + b)) > 0.0001 then
        y = math.sqrt((d+b-a)*(d+a-b)*(a+b+d+2*r)*(a+b-d+2*r))/(2*d)
    --    print('!! FOR_INTER:'..i..":"..j..":"..d..':'..x)
        -- CHECK IN-OUT
        if (vflip - massCenter/#anode):length() > (v - massCenter/#anode):length() then
--            print('?? TO_flip:'..stamp..':'..tostring(massCenter)..':'..#anode..':'..dmiddle)
            y = -y
--        if inCounter(i, j) == 1 then
--            print('?? to_flip:'..i..':'..j)
            y = -y
    local v = U.vturn({x = x, y = y}, ang)
--            print('?? cF2:'..x..':'..y..'::'..tostring(v)..':'..ang)
    local nd = {
        nd.pos = c1.pos + vn*(c1.r + dmiddle) + vec3(v.x, v.y, 0)
--        print('!! sign: x:'..x..' y:'..y..' vn:'..tostring(vn)..' ang:'..ang..':'..tostring(spos)..'>'..tostring(nd.pos)..':'..math.abs((spos - c1.pos):length()/(c1.r + nd.r)))
    end
            if dist - (nd.r + anode[k].r) < -0.01 then
    --          print('!! INTER:'..i..":"..j..":"..k)
                if dist < mi then
    if nIter >= #anode then
        print('!! circleFit.NO_FIT:'..stamp..':'..nIter)
        nIter = 0
        local k = inear
--        print('??******* int_resolve:'..i..':'..j..':'..inear..':'..tostring(nd.pos))
        -- select longer side
    edges.infaces[snew] = -flip
--    print('?? sf2:'..snew..':'..edges.infaces[snew])
    snew = U.stamp({j, #anode})
    nIter = 0
--    print('?? sf3:'..snew..':'..edges.infaces[snew])
--            U.dump(edges.infaces, '?? Infaces:'..stamp)

--    print('<<------ circleFit:'..stamp..':'..tostring(nd.pos)..':'..tostring(nd.d)) --..tostring(i)..':'..tostring(j)..':'..tostring(#anode)..':'..tostring(counter['1_2']))
    return nd
    ccenter = pos
        print('>>+++++++++++++++++++++++++ circleSeed:'..nnode..':'..tostring(mode)..':'..#anode..':'..tostring(pos)..' h:'..tostring(h))
    if mode ~= nil and mode.resize ~= nil then
--        print('?? circleSeed.resize:'..#anode)
        resize = mode.resize
          lines[#lines + 1] = line
--          print('?? line:'..line)
        end
                stamp = U.stamp({a[5], a[6]}), ang = a[7] }
--            print('?? snode:'..i..' r:'..snode[#snode][4])
        end
    end
--    print('?? sC2:')
        else
--            print('?? from_state:'..i..':'..tostring(state[i]))
            ar[#ar + 1] = state[i].r
    anode[#anode + 1] = { pos = U.vturn(vec3(ar[1] + ar[2], 0, 0), ang), r = ar[2], ang = ang, stamp = '0_1' }
--            print('?? FOR_2:'..tostring(ang)..':'..tostring(anode[#anode].pos)..':'..tostring(anode[#anode].ang))
--    U.dump(anode[#anode], '?? FOR_2:'..tostring(ang))
            d = state[i].d
--            print('?? res_pair:'..i..":"..tostring(pair))
        else
            if state ~= nil then
--                print('?? RE_pair:'..i..':'..state[i].stamp..':'..tostring(edges.infaces[state[i].stamp]))
            end
        if pair == nil then
            print('!! NO_PAIRS:'..i..'/'..nnode..':'..#anode)
            U.dump(edges.astamp)
        end
--        print('?? pre_fit:'..#anode..':'..tostring(anode[#anode].pos)..':'..anode[#anode].r)
        circleFit(pair, ar[i], d)
    Net.out.inseed = true
    print('<< circleSeed:'..#anode)
    return anode
    local ause = U.index(path, sc)
--        print('?? for use: sc:'..sc..' sp:'..sp..' used:'..#ause)
    local star, anear = {}, {}
local function pathsUp()
    print('>> pathsUp:'..#anode)
    apath = {}
                if #path == 1 then
--                    print('?? path_start:'..path[1])
                end
                if #path == 1 then
--                    print('?? path_start2:'..#ap)
                end
                        if yc ~= nil then
        --                    print('??++++ HAS_CROSS:'..cp..':'..p.ind)
--                            crossed = U.stamp({pth[j - 1], pth[j]})
--            local x, y = U.segmentCross(anode[cp].pos, anode[imi].pos, anode[ic[1]].pos, anode[ic[2]].pos)
--            print('?? CROSS:'..tostring(x)..':'..tostring(y))
            print('?? CROSS:'..cp..':'..imi..' X '..crossed..':'..tostring(xc)..':'..tostring(yc))
--            print('?? CROSS:'..tostring(x)..':'..tostring(y))
            print('?? CROSS:'..cp..':'..imi..' X '..crossed..':'..tostring(xc)..':'..tostring(yc))
        end
                if #afree == 0 then
                    print('?? NO_NODES:'..n)
                    break
                    -- TODO:
                    print('!! SINGLE_FREE:')
                    break
                cp = path[#path]
                print('?? HAS_CROSS:'..n..'/'..(#anode*2)..':'..tostring(cp)..'/'..#afree)
--                        break
                    U.vang(anode[cp].pos - anode[j].pos, anode[cp].pos - anode[imi].pos) < 0.2 then
                        print('??+++++++ FOR_SC:'..cp..':'..imi..'>'..j)
                        imi = j
        else
            print('?? NO_IMI:')
            break
--            local x,y = U.segmentCross(anode[8].pos, anode[15].pos, anode[1].pos, anode[13].pos)
--            print('?? FOR_CROSS:'..x..':'..y)
--    apath[#apath + 1] = path
local function path2decal(rd, w)
    print('>> path2decal:'..#rd.path)
    local path = rd.path
    for i = 1,#path do
--        print('?? for_node:'..i..':'..path[i]..'<'..tostring(path[i - 1]))
        local h = 0
        if nc == path[i - 1] and (nb == path[i] or ne == path[i]) then
--            print('??==== obt1: >'..path[i]..':'..tostring(nb)..'>'..tostring(nc)..'>'..tostring(ne))
            tounfold = true
        if nc == path[i] and (nb == path[i - 1] or ne == path[i - 1]) then
--            print('??==== obt2: >'..path[i]..':'..tostring(nb)..'>'..tostring(nc)..'>'..tostring(ne))
            tounfold = true

    print('<< path2decal:'..n)
    return road
local function linkOrder(s, star, p)
--    print('>> linkOrder')
    local aang, angp = {}, 0
        end
--        print('?? for_ang:'..tostring(v:normalized())..':'..aang[#aang][2])
    end
local function path2decal(rd, w)
    print('>> path2decal:'..#rd.path)
    local path = rd.path
    )
        print('?? path2decal.ID:'..tostring(newRoadID))
--        if true then return end
    for i = 1,#path do
--        print('?? for_node:'..i..':'..path[i]..'<'..tostring(path[i - 1]))
        local h = 0
        if nc == path[i - 1] and (nb == path[i] or ne == path[i]) then
--            print('??==== obt1: >'..path[i]..':'..tostring(nb)..'>'..tostring(nc)..'>'..tostring(ne))
            tounfold = true

--            print('??==== obt2: >'..path[i]..':'..tostring(nb)..'>'..tostring(nc)..'>'..tostring(ne))
            tounfold = true

    print('<< path2decal:'..n..':'..newRoadID)
--    return

--            print('?? level_set:'..o..' node:'..pth[o]..' lvl:'..set)
            levels[o] = set
    end
    print('?? GROUND:'..iground..'/'..#pth..':'..tostring(pth[iground]))
    toLevels(pth, iground, 1)
    if not dec or not dec[1] or not dec[2] then return {} end
        print('>> stem:'..dec[1]..':'..dec[2])
    local path = jointpath --apath[ord]
        n = n + 1
--        print('?? for_sc:'..sc..':'..n)
        -- get the star
        local star = forStar(sc, path)
--        print('?? for_star:'..sc..':'..#star)
--        U.dump(star)
            --- ordered angles
--                    print('?? pre_order:'..sc.."<"..sp..':'..#star)
            local aang = linkOrder(sc, star, sp)
                        if a2 == nil then
                            print('!! ERR_a2:'..#aang..':'..sc.."<"..sp..':'..aang[1][1]..' star:'..#star)
                        end
            if imi ~= nil then
--                print('?? co_DIR:'..n..':'..sp..'>'..sc..'>'..aang[imi][1])
                local stamp = U.stamp({ sc, aang[imi][1] })
                if #U.index(astamp, stamp) > 0 then
                    print('?? LOOPED:'..n..':'..sc..'>'..aang[imi][1])
                    isloop = true
    local nsec = rd:getEdgeCount()
    print('>> decal2mesh:'..nsec..':'..#road.apin)
            h2 = hmap[road.apin[cpin][1]]
            if dbg == true then print('?? mesh_cpin:'..i..':'..cpin) end
--            print('??-------- next:'..i..':'..cpin..':'..road.apin[cpin - 1])
            if dbg == true then print('?? mesh_cpin:'..i..':'..cpin) end
--            print('??-------- next:'..i..':'..cpin..':'..road.apin[cpin - 1])
        end
        end
--        print('?? for_h: i='..i..' h1:'..h1..' h2:'..h2..' cpin:'..cpin..':'..tostring(road.apin[cpin - 1])..':'..tostring(road.apin[cpin]))
        if road.apin[cpin-1][2] == 1 and road.apin[cpin][2] == 1 then
        if road.apin[cpin-1][2] == 1 and road.apin[cpin][2] == 1 then
            if dbg == true then print('?? mesh_spline1:'..i..':'..(cpin-1)..'>'..cpin) end
            h = U.spline1(h1, h2, i - road.apin[cpin - 1][1], road.apin[cpin][1] - road.apin[cpin - 1][1])
            if dbg then
                print('?? for_i:'..i..' cpin:'..cpin..' ap:'..road.apin[cpin - 1][1]..' h:'..h..'/'..h2)
            end
    local adec = editor.getNodes(dec)
--        print('?? to_del:'..r.id..':'..#adec..':'..tostring(r.meshid)..':'..#r.av..':'..nsec)
        if dbg then
--            print('?? for_UPD:'..o..'/'..#adec..':'..tostring(apin[o]))
        end
        end
--                print('?? np:'..o..':'..tostring(n.pos))
        n.pos.z = hmap[apin[o][1]] + 0.2
local function toDecals()
        print('>>-------------------------------- toDecals:'..#apath..':'..tostring(#jointpath))
    exits = {}
    -- levels
    --            print('?? lvl_start:'..dec[#list2 - 1]..':'..dec[#list2 - 2]..':'..dec[#list2 - 3])
    local levels = levelsUp(dec, #list2 - 1)
                            lo('??__ APH:'..i..':'..tostring(hmap[i])..':'..tostring(pedge)) --#apin)
        --                    print('?? e2n:'..i..':'..j..':'..tostring(levels[r.dec2path[j]])..':'..tostring(hLevel))
                        cdec = j + 1
            apin[#apin + 1] = {nsec - 1}
        --                print('?? FOR_LAST:'..tostring(rd:getMiddleEdgePosition(nsec - 1))..':'..tostring(rd:getMiddleEdgePosition(nsec))..':'..tostring(adec[#adec].pos)..':'..#adec)
            r.hmap = hmap
                    --- update decal
--                    print('?? PRE_UP: nsec='..nsec..' adec='..#adec..':'..tostring(rd)..'::'..#hmap..'::'..tostring(#r.apin))
--                        U.dump(hmap, '?? hmap:')
local function av2hmap(dec, list, dbg)
--            print('>> av2hmap:'..tostring(dbg))
    local hmap, apin = {}, {}
                end
--                print('?? av2hmap:'..ind..':'..tostring(dec:getMiddleEdgePosition(ind))..':'..ei)
            local h = U.hightOnCurve(dec:getMiddleEdgePosition(ind), rdinfo, ei, dbg)
            else
                print('!! av2hmap.NO_H:'..ind..':'..tostring(dbg))
            end
        if s > d then
--            print('<< posAtDistance:'..ifrom..':'..i..':'..(s - d)..':'..(v:length()))
            return pos(i, side, rdinfo) + v:normalized()*(d - (s - v:length()))
                if dbg then
                    print('?? forOut:'..i..':'..d..':'..tostring(dp))
                end
--            adbg[#adbg + 1] = {droot:getMiddleEdgePosition(ei - 1), ColorF(1,1,0,1)}
--            print('?? forOut:'..i..'/'..ne..':'..d)
        if dp ~= nil and d > dp and d > (rdinfo.w + wExit)/2 + 2*marginSide then
local function eLoop(cpos, brout, dirout, brin, dirin)
    print('>> eLoop:'..dirout..':'..dirin)
        adbg[#adbg + 1] = {edec:getLeftEdgePosition(ji)+vec3(0,0,hp), ColorF(0,1,0,1)}
        print('?? eLoop.BE:'..brout[2]..'>'..jo..':'..brin[2]..':'..ji)
    local ro, ri = roads[brout[1]], roads[brin[1]]
    for _,s in pairs(inedge) do
        print('?? for_s:'..s[1]..':'..s[2])
        local decal = scenetree.findObjectById(roads[s[1]].id)
        for _,dir in pairs {1, -1} do
                    print('?? for_dir:'..dir..':'..s[2]..':'..tostring(decal:getEdgeCount())..':'..tostring(decal:getMiddleEdgePosition(s[2]))) --..tostring(roads[s[1]].decal:getMiddleEdgePosition(s[2] + dir))..':'..tostring(roads[s[1]].decal:getMiddleEdgePosition(s[2])))
            adir[#adir + 1] =
--                adbg[#adbg + 1] = {ppin+vec3(0,0,hp), ColorF(0,0,1,1)}
                print('?? ie:'..ieo..'>'..iei..':'..dirout..'>'..dirin..':'..(ppout-pout):length())
        --- 2D geometry
        local dpush = (dang - math.pi/2)/math.pi*2.5
                print('?? FOR_ANG:'..o..':'..dang..':'..dpush)
        if dpush < 0 then dpush = 0 end
        local ji = forIn(roads[brin[1]], iei, edec)
--                print('?? BE:'..o..':'..brout[2]..'> jo='..jo..':'..brin[2]..'> ji='..ji)
--                adbg[#adbg + 1] = {edec:getLeftEdgePosition(ji)+vec3(0,0,hp), ColorF(0,1,0,1)}
        end
--        print('?? for_j:'..ji..':'..(ne - 1))
        for i = ji,ne-1,1 do
        for i = ji,ne-1,1 do
--            print('?? ffff:'..i)
            hpin[#hpin + 1] = {i, ri, iei}
        local nm = rayCast.object.name
    --            print('?? MC:'..cameraMouseRayCast(true).object.name)
        if not im.IsWindowHovered(im.HoveredFlags_AnyWindow) and not im.IsAnyItemHovered() then
                    local rd = rayCast.object
                            print('?? if_dec:'..tostring(rd.decal))
                    if rd.decal ~= nil then
                    if rd.decal ~= nil then
                        print('?? onClick.for_junc:'..rd.decal)
                        if icirc ~= nil then
                        if icirc ~= nil then
                            print('?? region:'..icirc..':'..rd:getID())
                            junctionUp(icirc)
                    lo('?? N.to_SEED:'..#anode)
--                        print('?? for_scope:'..tostring(W.forScope())..':'..nm)
--                    return W.mdown(rayCast, {R=R, D=D}) or nm ~= 'theTerrain'
                    if anode[l[j-1]] == nil or anode[l[j]] == nil then
                        print('!! NO_NODE:'..j..':'..l[j]..':'..l[j - 1]..'/'..#anode)
                        apath = {}
@/lua/ge/extensions/flowgraph/nodes/vehicle/getPowertrainData.lua
  if self.receivedInfo then
    --print("OK")
    self.pinOut.value.value = self.receivedInfo
@/lua/vehicle/extensions/scenario/annotate.lua
local function onVehicleScenarioData(_data)
    print("### onVehicleScenarioData ###")
    data = deepcopy(_data)
@/lua/vehicle/powertrain.lua
      if currentDamage > lastDamage then
        --print(string.format("Damage detected: %s:%s -> %.4f (%.4f)", device.name, deformGroupData.groupType, currentDamage - lastDamage, currentDamage))
        if device.applyDeformGroupDamage then
    --    for _,device in pairs(powertrainDevices) do
    --      print(device.name)
    --    end
    --    for k,v in pairs(powertrainDevices) do
    --      print(v.name)
    --      print(dumpsDeviceData(v))
    --      print(v.name)
    --      print(dumpsDeviceData(v))
    --    end
  for _, relevantDevice in ipairs(relevantDevices) do
    --print("--> " .. dumps(relevantDevice))
    local device = M.getDevice(relevantDevice.device)
@/lua/ge/extensions/editor/vehicleEditor/staticEditor/veStaticRenderView.lua

  --print(imagePos.x .. ", " .. imagePos.y)
  --print(imageSize.x .. ", " .. imageSize.y)
  --print(imagePos.x .. ", " .. imagePos.y)
  --print(imageSize.x .. ", " .. imageSize.y)
@/lua/common/mathlib.lua
c = vec3({x = 1, y = 2, z = 3})
print(a == b)
print( (a-b) == vec3(0, 0, 0) )
print(a == b)
print( (a-b) == vec3(0, 0, 0) )
print( (c*1) )
print( (a-b) == vec3(0, 0, 0) )
print( (c*1) )
print( vec3(10,0,0):dot(vec3(10,0,0)) )
print( (c*1) )
print( vec3(10,0,0):dot(vec3(10,0,0)) )
]]
@/lua/ge/extensions/editor/flowgraph/overview.lua
            elseif im.IsMouseClicked(1) then
              --print("fge_mgr_win_overview.lua >> RMB")
              self.contextMenuNode = node
      if im.SmallButton("Print Graphs") then
        print("-- Current child path --")
        dump(self.mgr.graph:getChildPosition())
        dump(self.mgr.graph:getChildPosition())
        print("-- Current graphs children: --")
        print("-- Graphs --")
        print("-- Current graphs children: --")
        print("-- Graphs --")
        for id, gr in pairs(self.mgr.graphs) do
          --if gr.parentId and not arrayFindValueIndex(gr.parent.children, gr) then
          --  print("Orphaned Graph: " .. gr:toString() .. " parent: " .. gr.parent:toString())
          --end
        end
        print("-- Macros --")
        for id, gr in pairs(self.mgr.macros) do
          --if gr.parent and not arrayFindValueIndex(gr.parent.children, gr) then
          --  print("Orphaned Graph: " .. gr:toString() .. " parent: " .. gr.parent:toString())
          --end
@/lua/ge/extensions/career/modules/delivery/progress.lua
M.unloadMaterialsManualStart = function(cargoId, destination)
  print("No longer used! unloadMaterialsManualStart")
end
@/lua/vehicle/scriptai.lua
        extForceVel = posAccel:dot(fwd) * dt
        -- if s2.t-time<=dt then print((targetPos - aiPos):projectToOriginPlane(up):length()) end -- measure error
      end

  -- print(timeDiff)
  -- print(noUndersteerCoef..','..noOversteerCoef)
  -- print(timeDiff)
  -- print(noUndersteerCoef..','..noOversteerCoef)
local function stopRecording()
  --print(">>> AI.stopRecording")
  M.updateGFX = nop
local function startFollowing(_inScript, _timeOffset, _loopCounter, _loopType, _externalForce)
  -- print(">>> AI.startFollowing: " .. dumps(inScript))
  -- inScript = testrec
@/lua/ge/extensions/util/stepHandler.lua
  stepper.makeStepFadeToBlack(),
  stepper.makeStepSpawnVehicleSimple("pickup","vehicles/pickup/d15_4wd_A.pc",function() print("Hello")end), stepper.makeStepFadeFromBlack()
  })
@/lua/ge/extensions/tech/ultrasonicTest.lua

    print("ultrasonic sensor test: stage 1 starting")
   
    print("isRequestComplete: ")
    print(extensions.tech_sensors.isRequestComplete(requestID))
    print("isRequestComplete: ")
    print(extensions.tech_sensors.isRequestComplete(requestID))
    print("collectUltrasonicRequest: ")
    print(extensions.tech_sensors.isRequestComplete(requestID))
    print("collectUltrasonicRequest: ")
    print(extensions.tech_sensors.collectUltrasonicRequest(requestID))
    print("collectUltrasonicRequest: ")
    print(extensions.tech_sensors.collectUltrasonicRequest(requestID))

    print("ultrasonic sensor test: stage 2 starting")
    for k, v in pairs(sensorData) do
      print("ultrasonic reading: "..k.." reading value: "..v)
    end
    -- sensorId = extensions.tech_sensors.createUltrasonic(vid, args)
    -- print("new sensorID: "..sensorId)
    -- assert(extensions.tech_sensors.getUltrasonicActiveSensors() ~= nil, "ultrasonicTest.lua - getUltrasonicActiveSensors has failed") *Function doesn't exist in sensors file

    print("ultrasonic sensor test complete")
  end
  if isTestComplete == true and frameCounter<=205 then
    print("test complete")
    frameCounter = 210
local function onVehicleDestroyed(vid)
  print("ultrasonic sensor test: vehicle destroyed and test sensor removed")
  research.sensorManager.removeAllSensorsFromVehicle(vid)
@/lua/vehicle/controller/drivingDynamics/sensors/vehicleData.lua
    if configContent then
      --print("found model config data:")
      --print(configFilePath)
      --print("found model config data:")
      --print(configFilePath)
      --dump(configContent)
@/lua/vehicle/controller/vehicleController/shiftLogic/manualGearbox.lua
  M.shiftingAggression = shiftAggression
  --print(string.format("GR: %.2f, AG: %.2f, IN: %.2f -> %.2f", gearRatioCoef, aggressionCoef, inertiaCoef, shiftAggression))
end
local function shiftUpOnDown()
  --print("shift up - onDown")
  local prevGearIndex = gearbox.gearIndex
local function shiftUpOnUp()
  --print("shift up - onUp")
  if clutchHandling.shiftState == "waitingForShift" then
local function shiftDownOnDown()
  --print("shift down - onDown")
  local prevGearIndex = gearbox.gearIndex
local function shiftDownOnUp()
  --print("shift down - onUp")
  if clutchHandling.shiftState == "waitingForShift" then
local function updateWhileShifting(dt)
  --print(clutchHandling.shiftState)
  M.isShifting = true

  --print("experimental gearbox logic")
end
@/lua/ge/ge_utils.lua
function scenetree_test_fields()
  print('testing fields of "thePlayer": ' .. tostring(scenetree.thePlayer))
  local player = scenetree.thePlayer
      if val == nil then
        print(' N ' .. tostring(k) .. ' = NIL [' .. (f.type or 'unknown') .. ']')
      else
      else
        print(' * ' .. tostring(k) .. ' = ' .. tostring(player[k]) .. ' [Types| Lua: ' .. type(val) .. ', C: ' .. (f.type or 'unknown') .. ']')
      end
    else
      print(' x UNSUPPORTED TYPE: ' .. tostring(k) .. ' [' .. (f.type or 'unknown') .. ']')
function testGBitmap()
  --print("testGBitmap...")

  --print("testGBitmap... loading/saving")
  local filePath = "test/GBitmap.png"

  --print( functor..'('..argsStr..')' )
  return TorqueScript.eval( 'return '..functor..'('..argsStr..');' )

  --print( functor..'('..argsStr..')' )
  return TorqueScript.eval( functor..'('..argsStr..');' )
  files = zip:getFileList()
  print("Hash of files in testZIP/testZIP.zip ")
  for i, v in ipairs( files ) do
  for i, v in ipairs( files ) do
    print( '  '..zip:getFileEntryHashByIdx(i)..' '..v)
  end

  -- print('Creation object of class ' .. tostring(className) .. ' resulted in type ' .. tostring(getmetatable(obj).___type))
  be:reloadCollision()
  print("reloading the collision took: " .. h:stop() .. ' ms')
end
  for _, f in pairs(files) do
    --print( ' - ' .. string.upper(f) .. ' = ' .. hashStringSHA1(string.upper(f)))
    if knownHashes[hashStringSHA1(string.upper(f))] then
      file:close()
      --print(">>>>> load <<<< " .. tostring(modulename) .. ' = ' .. tostring(filename))
      if string.find(filename, '/extensions/') then
        content = "local logTag = '"..modulenameVirt.."'; local log = function(level, origin, msg) log(level, msg and ('"..modulenameVirt..".'..origin) or origin, msg) end;" .. content --if using all 3 logging args, then prefix the module name into 'origin'
        --print(content)
      end
  log("E", "", "The 'setCEFFocus()' function is deprecated and doesn't need to be called by the following code:")
  print(debug.tracesimple())
end
@/lua/ge/spawn.lua
    log("W", logTag, "Using Old TS Spawning Code to spawn vehicle!: " .. dumps(vehicleModel))
    print(debug.tracesimple())
    spawnPlayerOld()
@/lua/console/bananabench.lua
    if not skipVehicle then
      --print(' *** ' .. vehicle .. ' ***')
      test.maxMbeams = 0
      local allTestsSpawnTime = 0
      print('   +----------+----------+')
      print('   | MBeams/s | % Realt  |')
      print('   +----------+----------+')
      print('   | MBeams/s | % Realt  |')
      print('---+----------+----------+')
      print('   | MBeams/s | % Realt  |')
      print('---+----------+----------+')
      for n = vehicleMin, vehicleMax, 1 do
        table.insert(test.tests, t)
        print(t.msg)
      end

      print("Max Mbeams/s:   " .. string.format("%0.3f", test.maxMbeams) .. " Mbeams/s")
      res.tests[vehicle] = test
  res.time = timeTotalSum
  print("")
  print(" BANANAA!!!")
  print("")
  print(" BANANAA!!!")
  print(" .______,# ")
  print(" BANANAA!!!")
  print(" .______,# ")
  print(" \\ -----'/ ")
  print(" .______,# ")
  print(" \\ -----'/ ")
  print("  `-----' ")
  print(" \\ -----'/ ")
  print("  `-----' ")
@/lua/vehicle/sounds.lua
          if nodeImpactPlasticEvent then
            --print(string.format("%d: Impact Plastic (%.2f) -> %q", objectId, volImpact, nodeImpactPlasticEvent))
            -- print (string.format(" PLASTIC IMPACT / mat1=%.2d / mat2=%.2d / impactEnergy=%9.2f / breakEnergy=%9.2f / volImpact=%.3f  ", mat1, mat2, impactEnergy, breakEnergy, volImpact))
            --print(string.format("%d: Impact Plastic (%.2f) -> %q", objectId, volImpact, nodeImpactPlasticEvent))
            -- print (string.format(" PLASTIC IMPACT / mat1=%.2d / mat2=%.2d / impactEnergy=%9.2f / breakEnergy=%9.2f / volImpact=%.3f  ", mat1, mat2, impactEnergy, breakEnergy, volImpact))
            sounds.playSoundOnceFollowNode(nodeImpactPlasticEvent, breakNode, volImpact)
          if nodeImpactMetalEvent then
            --print(string.format("%d: Impact Metal (%.2f) -> %q", objectId, volImpact, nodeImpactMetalEvent))
            --print (string.format("    PART IMPACT / mat1=%.2d / mat2=%.2d / impactEnergy=%9.2f / breakEnergy=%9.2f /                 / volImpact=%.3f  ", mat1, mat2, impactEnergy, breakEnergy, volImpact))
            --print(string.format("%d: Impact Metal (%.2f) -> %q", objectId, volImpact, nodeImpactMetalEvent))
            --print (string.format("    PART IMPACT / mat1=%.2d / mat2=%.2d / impactEnergy=%9.2f / breakEnergy=%9.2f /                 / volImpact=%.3f  ", mat1, mat2, impactEnergy, breakEnergy, volImpact))
            sounds.playSoundOnceFollowNode(nodeImpactMetalEvent, breakNode, volImpact)
          if nodeImpactGenericEvent then
            --print(string.format("%d: Impact Generic (%.2f) -> %q", objectId, volImpact, nodeImpactGenericEvent))
            -- print (string.format(" GENERIC IMPACT / mat1=%.2d / mat2=%.2d / impactEnergy=%9.2f / breakEnergy=%9.2f /                 / volImpact=%.3f  ", mat1, mat2, impactEnergy, breakEnergy, volImpact))
            --print(string.format("%d: Impact Generic (%.2f) -> %q", objectId, volImpact, nodeImpactGenericEvent))
            -- print (string.format(" GENERIC IMPACT / mat1=%.2d / mat2=%.2d / impactEnergy=%9.2f / breakEnergy=%9.2f /                 / volImpact=%.3f  ", mat1, mat2, impactEnergy, breakEnergy, volImpact))
            sounds.playSoundOnceFollowNode(nodeImpactGenericEvent, breakNode, volImpact)
          if nodeBreakPlasticEvent then
            --print(string.format("%d: Break Plastic (%.2f) -> %q", objectId, volBreak, nodeBreakPlasticEvent))
            sounds.playSoundOnceFollowNode(nodeBreakPlasticEvent, breakNode, volBreak)
          if nodeBreakGenericEvent then
            --print(string.format("%d: Break Generic (%.2f) -> %q", objectId, volBreak, nodeBreakGenericEvent))
            sounds.playSoundOnceFollowNode(nodeBreakGenericEvent, breakNode, volBreak)
        end
      -- print (string.format("     PART BREAK / mat1=%.2d / mat2=%.2d / impactEnergy=%9.2f / breakEnergy=%9.2f /                 /                 / volBreak=%.3f ", mat1, mat2, impactEnergy, breakEnergy, volBreak))
      end
    -- streams.drawGraph('w'..bi, {value = -smoothStress, min = 0, max = 1})
    -- if volume >= 0.01 then print (string.format(" Suspension%.0f   currentStress %.2f x smoothStress %.2f x volumeFactor %.2f = Volume=%.2f  Impulse=%.2f  Pitch=%.2f  colorFactor=%.2f  beamResetTimer=%.2f", bi, currentStress, smoothStress, snd.volumeFactor, volume, impulse, pitch, snd.colorFactor, beamResetTimer)); end
    -- sounds.playSoundOnceAtNode("event:>Vehicle>Interior>Rattles>car>multi_test", 0, volume)
    -- print (volume)
    -- end
    end
  -- print (string.format("WINDSPEED KPH=%.0f MPH=%.0f  Wind vol=%.2f  pitch=%.2f", (speed*3.657), (speed*2.285), vol, pitch))
  end

    -- if wd.name == "RR" then print(string.format("RR skids = slip %6.3f / slipEnergy %6.3f / sideSlip %6.3f / lastSlip %0.3f", slip, wd.slipEnergy * 0.000005, sideSlip, wd.lastSlip * 0.0125)); end

    -- print (string.format(" wd.downf=%6.3d : tirePressure=%5.2f : wd.lastSlip*0.01=%7.3f : slip=%7.3f ; absWhlSpd=%6.1f/MPH%3.0f : c_tirePropVol=%6.3f, c_tirePropPit=%6.3f", wd.downForce, tirePressure, wd.lastSlip * 0.01, slip, absWheelSpeed, (absWheelSpeed*2.285), wheelSound.tirePropertiesVolRoll, wheelSound.tirePropertiesPitch).." "..wd.name)
    -- print (string.format("tireVolumePitch=%7.3f : wd.tireVolume=%7.3f : material=%2.0f : wd.contactDepth=%0.2f", wheelSound.tireVolumePitch, wd.tireVolume, mat, wd.contactDepth).." "..wd.name)
    -- print (string.format(" wd.downf=%6.3d : tirePressure=%5.2f : wd.lastSlip*0.01=%7.3f : slip=%7.3f ; absWhlSpd=%6.1f/MPH%3.0f : c_tirePropVol=%6.3f, c_tirePropPit=%6.3f", wd.downForce, tirePressure, wd.lastSlip * 0.01, slip, absWheelSpeed, (absWheelSpeed*2.285), wheelSound.tirePropertiesVolRoll, wheelSound.tirePropertiesPitch).." "..wd.name)
    -- print (string.format("tireVolumePitch=%7.3f : wd.tireVolume=%7.3f : material=%2.0f : wd.contactDepth=%0.2f", wheelSound.tireVolumePitch, wd.tireVolume, mat, wd.contactDepth).." "..wd.name)
      -- if wd.name == "RR" then
      -- if rigidRollVolume > 0.01  then print (string.format("ASPHAT KPH=%3.0f MPH=%3.0f / absWhlSpeed %5.1f / rollVolume %4.2f / RollPitch %4.2f / tirePressure%6.2f / Contact %.1f", (absWheelSpeed*3.656), (absWheelSpeed*2.285), absWheelSpeed, rigidRollVolume, rigidRollPitch, tirePressure, asphaltContactSmooth).." "..wd.name); end
      -- if rigidSkidVolume > 0.01 then print (string.format(" "..wd.name.." ".."Skid Volume %.2f : Pitch %.2f : Color(+0.5) %.2f : tirePressure %.2f : Slip %6.2f : wd.lastSlip %6.2f : wd.slipEnergy %6.0f", rigidSkidVolume, rigidSkidPitch, rigidSkidSlip + 0.5, tirePressure, slip, wd.lastSlip, wd.slipEnergy)); end
      -- if rigidRollVolume > 0.01  then print (string.format("ASPHAT KPH=%3.0f MPH=%3.0f / absWhlSpeed %5.1f / rollVolume %4.2f / RollPitch %4.2f / tirePressure%6.2f / Contact %.1f", (absWheelSpeed*3.656), (absWheelSpeed*2.285), absWheelSpeed, rigidRollVolume, rigidRollPitch, tirePressure, asphaltContactSmooth).." "..wd.name); end
      -- if rigidSkidVolume > 0.01 then print (string.format(" "..wd.name.." ".."Skid Volume %.2f : Pitch %.2f : Color(+0.5) %.2f : tirePressure %.2f : Slip %6.2f : wd.lastSlip %6.2f : wd.slipEnergy %6.0f", rigidSkidVolume, rigidSkidPitch, rigidSkidSlip + 0.5, tirePressure, slip, wd.lastSlip, wd.slipEnergy)); end
      -- end
        wheelSound.looseSurfaceKickupLimit = randomGauss3() * 8 / wheelSound.tirePropertiesKickup
      -- print(string.format("KICKUP ASPHALT Vol=%.2f : Pitch=%.2f : Color=%.2f : tirePropertiesKickup=%.2f", kickupVolume, wheelSound.tirePropertiesVolRoll, wheelSound.tirePropertiesPitch, wheelSound.tirePropertiesKickup) .. " " .. wd.name)
      -- streams.drawGraph(wd.name.." kickupVolume", {value = kickupVolume, min = 0, max = 1})
      rigidSkidSlip = vehicleWheelSpeedDiffSlip * wheelSound.tirePropertiesSlip
    -- if rigidSkidVolume > 0.01 then print (string.format(" ASPHALT WET SKID / rigidSkidVolume %.2f / rigidSkidPitch %.2f / rigidSkidColor(+0.5) %.2f", rigidSkidVolume, rigidSkidPitch, rigidSkidColor + 0.5).." "..wd.name); end
    end

    -- if rigidSkidVolume > 0.01 then print (string.format(" COBBLE SKID / rigidSkidVolume %.2f / rigidSkidPitch %.2f / rigidSkidSlip(+0.5) %.2f", rigidSkidVolume, rigidSkidPitch, rigidSkidSlip + 0.5).." "..wd.name); end
    -- if rigidSkidVolume > 0.01 then print (string.format(" COBBLE SKID / slip %.2f / sideSlip %.2f / absWheelSpeed %.2f / aeroSpeed %.2f", slip, sideSlip * 0.0125, absWheelSpeed, aeroSpeed).." "..wd.name); end
    -- if rigidSkidVolume > 0.01 then print (string.format(" COBBLE SKID / rigidSkidVolume %.2f / rigidSkidPitch %.2f / rigidSkidSlip(+0.5) %.2f", rigidSkidVolume, rigidSkidPitch, rigidSkidSlip + 0.5).." "..wd.name); end
    -- if rigidSkidVolume > 0.01 then print (string.format(" COBBLE SKID / slip %.2f / sideSlip %.2f / absWheelSpeed %.2f / aeroSpeed %.2f", slip, sideSlip * 0.0125, absWheelSpeed, aeroSpeed).." "..wd.name); end
    end
      rigidSkidSlip = vehicleWheelSpeedDiffSlip * wheelSound.tirePropertiesSlip
    -- if rigidSkidVolume > 0.01 then print (string.format(" ICE SKID / rigidSkidVolume %.2f / rigidSkidPitch %.2f / rigidSkidSlip(+0.5) %.2f", rigidSkidVolume, rigidSkidPitch, rigidSkidSlip + 0.5).." "..wd.name); end
    end
      rigidSkidSlip = vehicleWheelSpeedDiffSlip * wheelSound.tirePropertiesSlip
    -- if rigidSkidVolume > 0.01 then print (string.format(" METAL SKID / rigidSkidVolume %.2f / rigidSkidPitch %.2f / rigidSkidSlip(+0.5) %.2f", rigidSkidVolume, rigidSkidPitch, rigidSkidSlip + 0.5).." "..wd.name); end
    end
      rigidSkidSlip = vehicleWheelSpeedDiffSlip * wheelSound.tirePropertiesSlip
    -- if rigidSkidVolume > 0.01 then print (string.format(" WOOD SKID / rigidSkidVolume %.2f / rigidSkidPitch %.2f / rigidSkidSlip(+0.5) %.2f", rigidSkidVolume, rigidSkidPitch, rigidSkidSlip + 0.5).." "..wd.name); end
    end
    if dirtContactSmooth > maxContact then
      -- if wd.name == "RL" and wd.contactDepth > 0 then print (string.format("  DIRT depth=%.2f", wd.contactDepth).." "..wd.name);end
      maxContact = dirtContactSmooth
      looseSkidDepth = wd.contactDepth
      -- if looseRollVolume > 0.001 then print (string.format("  DIRT ROLL Vol=%.2f : Pitch=%.2f : Depth=%.2f : Texture=%.2f", looseRollVolume, looseRollPitch, looseRollDepth, looseSurfaceType).." "..wd.name); end
      -- if looseSkidVolume > 0.001 then print (string.format("  DIRT SKID Vol=%.2f : Pitch=%.2f : Depth=%.2f : Texture=%.2f", looseSkidVolume, looseSkidPitch, looseSkidDepth, looseSurfaceType).." "..wd.name); end
      -- if looseRollVolume > 0.001 then print (string.format("  DIRT ROLL Vol=%.2f : Pitch=%.2f : Depth=%.2f : Texture=%.2f", looseRollVolume, looseRollPitch, looseRollDepth, looseSurfaceType).." "..wd.name); end
      -- if looseSkidVolume > 0.001 then print (string.format("  DIRT SKID Vol=%.2f : Pitch=%.2f : Depth=%.2f : Texture=%.2f", looseSkidVolume, looseSkidPitch, looseSkidDepth, looseSurfaceType).." "..wd.name); end
      -- streams.drawGraph(wd.name.." looseSkidVolume", {value = looseSkidVolume, min = 0, max = 1})
        wheelSound.looseSurfaceKickupLimit = randomGauss3() * 8 / wheelSound.tirePropertiesKickup
      -- print(string.format("KICKUP DIRT Vol=%.2f : Pitch=%.2f : Color=%.2f : tirePropertiesKickup=%.2f", kickupVolume, wheelSound.tirePropertiesVolRoll, wheelSound.tirePropertiesPitch, wheelSound.tirePropertiesKickup) .. " " .. wd.name)
      -- streams.drawGraph(wd.name.." kickupVolume", {value = kickupVolume, min = 0, max = 1})
    if dirtdustyContactSmooth > maxContact then
      -- if wd.name == "RL" and wd.contactDepth > 0 then print (string.format("  DIRT depth=%.2f", wd.contactDepth).." "..wd.name);end
      maxContact = dirtdustyContactSmooth
      looseSkidDepth = wd.contactDepth
      -- if looseRollVolume > 0.001 then print (string.format(" DUSTY ROLL Vol=%.2f : Pitch=%.2f : Depth=%.2f : Texture=%.2f", looseRollVolume, looseRollPitch, looseRollDepth, looseSurfaceType).." "..wd.name); end
      -- if looseSkidVolume > 0.001 then print (string.format(" DUSTY SKID Vol=%.2f : Pitch=%.2f : Depth=%.2f : Texture=%.2f", looseSkidVolume, looseSkidPitch, looseSkidDepth, looseSurfaceType).." "..wd.name); end
      -- if looseRollVolume > 0.001 then print (string.format(" DUSTY ROLL Vol=%.2f : Pitch=%.2f : Depth=%.2f : Texture=%.2f", looseRollVolume, looseRollPitch, looseRollDepth, looseSurfaceType).." "..wd.name); end
      -- if looseSkidVolume > 0.001 then print (string.format(" DUSTY SKID Vol=%.2f : Pitch=%.2f : Depth=%.2f : Texture=%.2f", looseSkidVolume, looseSkidPitch, looseSkidDepth, looseSurfaceType).." "..wd.name); end
      -- streams.drawGraph(wd.name.." looseSkidVolume", {value = looseSkidVolume, min = 0, max = 1})
        wheelSound.looseSurfaceKickupLimit = wheelSound.looseSurfaceKickupLimit + randomGauss3() * 20 / wheelSound.tirePropertiesKickup
      -- print(string.format("KICKUP DUST Vol=%.2f : Pitch=%.2f : Color=%.2f : tirePropertiesKickup=%.2f", kickupVolume, wheelSound.tirePropertiesVolRoll, wheelSound.tirePropertiesPitch, wheelSound.tirePropertiesKickup) .. " " .. wd.name)
      -- streams.drawGraph(wd.name.." kickupVolume", {value = kickupVolume, min = 0, max = 1})
    if grassContactSmooth > maxContact then
      -- if wd.name == "RL" and wd.contactDepth > 0 then print (string.format(" GRASS depth=%.2f", wd.contactDepth).." "..wd.name);end
      maxContact = grassContactSmooth
      looseSkidDepth = wd.contactDepth
      -- if looseRollVolume > 0.001 then print (string.format(" GRASS ROLL Vol=%.2f : Pitch=%.2f : Depth=%.2f : Texture=%.2f", looseRollVolume, looseRollPitch, looseRollDepth, looseSurfaceType).." "..wd.name); end
      -- if looseSkidVolume > 0.001 then print (string.format(" GRASS SKID Vol=%.2f : Pitch=%.2f : Depth=%.2f : Texture=%.2f", looseSkidVolume, looseSkidPitch, looseSkidDepth, looseSurfaceType).." "..wd.name); end
      -- if looseRollVolume > 0.001 then print (string.format(" GRASS ROLL Vol=%.2f : Pitch=%.2f : Depth=%.2f : Texture=%.2f", looseRollVolume, looseRollPitch, looseRollDepth, looseSurfaceType).." "..wd.name); end
      -- if looseSkidVolume > 0.001 then print (string.format(" GRASS SKID Vol=%.2f : Pitch=%.2f : Depth=%.2f : Texture=%.2f", looseSkidVolume, looseSkidPitch, looseSkidDepth, looseSurfaceType).." "..wd.name); end
      -- streams.drawGraph(wd.name.." looseSkidVolume", {value = looseSkidVolume, min = 0, max = 1})
        wheelSound.looseSurfaceKickupLimit = randomGauss3() * 12 / wheelSound.tirePropertiesKickup
      -- print (string.format("KICKUP GRASS Vol=%.2f : Pitch=%.2f : Color=%.2f : tirePropertiesKickup=%.2f", kickupVolume, wheelSound.tirePropertiesVolRoll, wheelSound.tirePropertiesPitch, wheelSound.tirePropertiesKickup).." "..wd.name)
      -- streams.drawGraph(wd.name.." kickupVolume", {value = kickupVolume, min = 0, max = 1})
    if gravelContactSmooth > maxContact then
      -- if wd.name == "RL" and wd.contactDepth > 0 then print (string.format("GRAVEL depth=%.2f", wd.contactDepth).." "..wd.name);end
      maxContact = gravelContactSmooth
      looseSkidDepth = wd.contactDepth
      -- if looseRollVolume > 0.001 then print (string.format("GRAVEL ROLL Vol=%.2f : Pitch=%.2f : Depth=%.2f : Texture=%.2f", looseRollVolume, looseRollPitch, looseRollDepth, looseSurfaceType).." "..wd.name); end
      -- if looseSkidVolume > 0.001 then print (string.format("GRAVEL SKID Vol=%.2f : Pitch=%.2f : Depth=%.2f : Texture=%.2f : tirePropertiesSlip=%.2f", looseSkidVolume, looseSkidPitch, looseSkidDepth, looseSurfaceType, wheelSound.tirePropertiesSlip).." "..wd.name); end
      -- if looseRollVolume > 0.001 then print (string.format("GRAVEL ROLL Vol=%.2f : Pitch=%.2f : Depth=%.2f : Texture=%.2f", looseRollVolume, looseRollPitch, looseRollDepth, looseSurfaceType).." "..wd.name); end
      -- if looseSkidVolume > 0.001 then print (string.format("GRAVEL SKID Vol=%.2f : Pitch=%.2f : Depth=%.2f : Texture=%.2f : tirePropertiesSlip=%.2f", looseSkidVolume, looseSkidPitch, looseSkidDepth, looseSurfaceType, wheelSound.tirePropertiesSlip).." "..wd.name); end
      -- streams.drawGraph(wd.name.." looseSkidVolume", {value = looseSkidVolume, min = 0, max = 1})
        wheelSound.looseSurfaceKickupLimit = wheelSound.looseSurfaceKickupLimit + randomGauss3() * 16 / wheelSound.tirePropertiesKickup
      -- print (string.format("KICKUP Slip=%.2f : Slip*Properties=%.2f", slip * 12, slip * wheelSound.tirePropertiesKickup * 12).." "..wd.name)
      -- print (string.format("KICKUP GRAVEL Vol=%.2f : Pitch=%.2f : Color=%.2f : tirePropertiesKickup=%.2f", kickupVolume, wheelSound.tirePropertiesVolRoll, wheelSound.tirePropertiesPitch, wheelSound.tirePropertiesKickup).." "..wd.name)
      -- print (string.format("KICKUP Slip=%.2f : Slip*Properties=%.2f", slip * 12, slip * wheelSound.tirePropertiesKickup * 12).." "..wd.name)
      -- print (string.format("KICKUP GRAVEL Vol=%.2f : Pitch=%.2f : Color=%.2f : tirePropertiesKickup=%.2f", kickupVolume, wheelSound.tirePropertiesVolRoll, wheelSound.tirePropertiesPitch, wheelSound.tirePropertiesKickup).." "..wd.name)
      -- streams.drawGraph(wd.name.." kickupVolume", {value = kickupVolume, min = 0, max = 1})
    if mudContactSmooth > maxContact then
      -- if wd.name == "RL" and wd.contactDepth > 0 then print (string.format("  MUD depth=%.2f", wd.contactDepth).." "..wd.name);end
      maxContact = mudContactSmooth
      looseSkidDepth = wd.contactDepth
      -- if looseRollVolume > 0.001 then print (string.format("   MUD ROLL Vol=%.2f : Pitch=%.2f : Depth=%.2f : Texture=%.2f", looseRollVolume, looseRollPitch, looseRollDepth, looseSurfaceType).." "..wd.name); end
      -- if looseSkidVolume > 0.001 then print (string.format("   MUD SKID Vol=%.2f : Pitch=%.2f : Depth=%.2f : Texture=%.2f", looseSkidVolume, looseSkidPitch, looseSkidDepth, looseSurfaceType).." "..wd.name); end
      -- if looseRollVolume > 0.001 then print (string.format("   MUD ROLL Vol=%.2f : Pitch=%.2f : Depth=%.2f : Texture=%.2f", looseRollVolume, looseRollPitch, looseRollDepth, looseSurfaceType).." "..wd.name); end
      -- if looseSkidVolume > 0.001 then print (string.format("   MUD SKID Vol=%.2f : Pitch=%.2f : Depth=%.2f : Texture=%.2f", looseSkidVolume, looseSkidPitch, looseSkidDepth, looseSurfaceType).." "..wd.name); end
      -- streams.drawGraph(wd.name.." looseSkidVolume", {value = looseSkidVolume, min = 0, max = 1})
        wheelSound.looseSurfaceKickupLimit = randomGauss3() * 8 / wheelSound.tirePropertiesKickup
      -- print (string.format("KICKUP MUD Vol=%.2f : Pitch=%.2f : Color=%.2f : tirePropertiesKickup=%.2f", kickupVolume, wheelSound.tirePropertiesVolRoll, wheelSound.tirePropertiesPitch, wheelSound.tirePropertiesKickup).." "..wd.name)
      -- streams.drawGraph(wd.name.." kickupVolume", {value = kickupVolume, min = 0, max = 1})
      looseSkidDepth = wd.contactDepth
      -- if looseRollVolume > 0.001 then print (string.format("  ROCK ROLL Vol=%.2f : Pitch=%.2f : Depth=%.2f : Texture=%.2f", looseRollVolume, looseRollPitch, looseRollDepth, looseSurfaceType).." "..wd.name); end
      -- if looseSkidVolume > 0.001 then print (string.format("  ROCK SKID Vol=%.2f : Pitch=%.2f : Depth=%.2f : Texture=%.2f", looseSkidVolume, looseSkidPitch, looseSkidDepth, looseSurfaceType).." "..wd.name); end
      -- if looseRollVolume > 0.001 then print (string.format("  ROCK ROLL Vol=%.2f : Pitch=%.2f : Depth=%.2f : Texture=%.2f", looseRollVolume, looseRollPitch, looseRollDepth, looseSurfaceType).." "..wd.name); end
      -- if looseSkidVolume > 0.001 then print (string.format("  ROCK SKID Vol=%.2f : Pitch=%.2f : Depth=%.2f : Texture=%.2f", looseSkidVolume, looseSkidPitch, looseSkidDepth, looseSurfaceType).." "..wd.name); end
      -- streams.drawGraph(wd.name.." looseSkidVolume", {value = looseSkidVolume, min = 0, max = 1})
        wheelSound.looseSurfaceKickupLimit = randomGauss3() * 8 / wheelSound.tirePropertiesKickup
      -- print (string.format("KICKUP ROCK Vol=%.2f : Pitch=%.2f : Color=%.2f : tirePropertiesKickup=%.2f", kickupVolume, wheelSound.tirePropertiesVolRoll, wheelSound.tirePropertiesPitch, wheelSound.tirePropertiesKickup).." "..wd.name)
      -- streams.drawGraph(wd.name.." kickupVolume", {value = kickupVolume, min = 0, max = 1})
    if sandContactSmooth > maxContact then
      -- if wd.name == "RL" and wd.contactDepth > 0 then print (string.format(" SAND depth=%.2f", wd.contactDepth).." "..wd.name);end
      maxContact = sandContactSmooth
      looseSkidDepth = wd.contactDepth
      -- if looseRollVolume > 0.001 then print (string.format("  SAND ROLL Vol=%.2f : Pitch=%.2f : Depth=%.2f : Texture=%.2f", looseRollVolume, looseRollPitch, looseRollDepth, looseSurfaceType).." "..wd.name); end
      -- if looseSkidVolume > 0.001 then print (string.format("  SAND SKID Vol=%.2f : Pitch=%.2f : Depth=%.2f : Texture=%.2f", looseSkidVolume, looseSkidPitch, looseSkidDepth, looseSurfaceType).." "..wd.name); end
      -- if looseRollVolume > 0.001 then print (string.format("  SAND ROLL Vol=%.2f : Pitch=%.2f : Depth=%.2f : Texture=%.2f", looseRollVolume, looseRollPitch, looseRollDepth, looseSurfaceType).." "..wd.name); end
      -- if looseSkidVolume > 0.001 then print (string.format("  SAND SKID Vol=%.2f : Pitch=%.2f : Depth=%.2f : Texture=%.2f", looseSkidVolume, looseSkidPitch, looseSkidDepth, looseSurfaceType).." "..wd.name); end
      -- if wd.name == "FL" then streams.drawGraph(wd.name.." looseSkidVolume", {value = looseSkidVolume}); end
        wheelSound.looseSurfaceKickupLimit = randomGauss3() * 4 / wheelSound.tirePropertiesKickup
      -- print (string.format("KICKUP SAND Vol=%.2f : Pitch=%.2f : Color=%.2f : tirePropertiesKickup=%.2f", kickupVolume, wheelSound.tirePropertiesVolRoll, wheelSound.tirePropertiesPitch, wheelSound.tirePropertiesKickup).." "..wd.name)
      -- streams.drawGraph(wd.name.." kickupVolume", {value = kickupVolume, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." looseSkidDepth", {value = looseSkidDepth, min = 0, max = 0.3})
    -- if looseRollDepth > 0 then print (string.format("looseSurfaceType = %0.3f / looseRollDepth = %0.2f", looseSurfaceType, looseRollDepth)); end
        rigidSurfaceType = 0.35
        -- if wd.name == "FL" then print (string.format("peakForce=%6.0f / wd.obj:getPeakPeriod()=%0.2f / vehicleSpeed=%0.3f", peakForce, wd.obj:getPeakPeriod(), vehicleSpeed)); end
        local volume = min(1, peakForce * vehicleSpeed * 0.000002 / wheelSound.tireContactPatchCoef - 0.01)

  -- print (string.format("(Tread) %.2f * (LinearRadius) %.2f * (tireLinearWidth) = %.2f = Total = %.2f", wd.treadCoef, tireLinearScaleRadius, tireVolWidthCoef, wd.treadCoef * tireLinearScaleRadius * tireVolWidthCoef))
  -- print ((tireContactPatchCoef + 0.5) * tireKickSoftCoef)
  -- print (string.format("(Tread) %.2f * (LinearRadius) %.2f * (tireLinearWidth) = %.2f = Total = %.2f", wd.treadCoef, tireLinearScaleRadius, tireVolWidthCoef, wd.treadCoef * tireLinearScaleRadius * tireVolWidthCoef))
  -- print ((tireContactPatchCoef + 0.5) * tireKickSoftCoef)
  -- print(wd.radius * wd.tireWidth);print(((wd.radius - wd.hubRadius) * 2) * wd.tireWidth)
  -- print ((tireContactPatchCoef + 0.5) * tireKickSoftCoef)
  -- print(wd.radius * wd.tireWidth);print(((wd.radius - wd.hubRadius) * 2) * wd.tireWidth)
  -- print ((tireContactPatchCoef + 0.5) * tireKickSoftCoef)
  -- print(wd.radius * wd.tireWidth);print(((wd.radius - wd.hubRadius) * 2) * wd.tireWidth)
  -- Print wheel sizes
  -- print (string.format("Size = %.0f/%.0f R%.0f : Actual Values - wd.radius=%.3f - wd.hubRadius=%.3f - wd.tireWidth=%.3f - contactPatch=%.3f : Tread=%.2f : Softness=%.2f", (wd.radius *2) * 100, ((wd.hubRadius * 2) / 2.54) * 100, wd.tireWidth * 1000, wd.radius, wd.hubRadius, wd.tireWidth, (wd.radius * wd.radius * wd.tireWidth), wd.treadCoef, wd.softnessCoef).." "..wd.name)
  -- tireProperties
  --print ((string.format("TRUE TIRE PHYSICS - ContactPatch=%0.3f = Width=%0.3f * wd.radius=%0.3f : wd.hubRadius=%0.3f : tireRadius=%0.3f : AirVolume=%0.3f : Soft=%0.3f : wd.treadCoef=%0.2f : tirePropertiesSizeTread=%0.2f", (wd.radius * wd.tireWidth), wd.tireWidth, wd.radius, wd.hubRadius, (wd.radius - wd.hubRadius), wd.tireVolume, wd.softnessCoef, wd.treadCoef, wh.tirePropertiesSizeTread)).." "..wd.name)
  -- TIRE SLIP PROPERTIES
  -- print ((string.format("Tire Slip TRUE/NORMALISED - ContactPatch=%0.3f/%0.3f * Soft=%0.3f/%0.3f * Tread=%0.3f/%0.3f  = PropSlip=%0.3f  ", (wd.radius * wd.tireWidth), tireContactPatchReverseNormalCoef, wd.softnessCoef, tireSlipSoftCoef, wd.treadCoef, tireSlipTreadCoef, tireContactPatchReverseNormalCoef * tireSlipSoftCoef * tireSlipTreadCoef  )).." "..wd.name); print (" ")
  -- TIRE SLIP PROPERTIES
  -- print ((string.format("Tire Slip TRUE/NORMALISED - ContactPatch=%0.3f/%0.3f * Soft=%0.3f/%0.3f * Tread=%0.3f/%0.3f  = PropSlip=%0.3f  ", (wd.radius * wd.tireWidth), tireContactPatchReverseNormalCoef, wd.softnessCoef, tireSlipSoftCoef, wd.treadCoef, tireSlipTreadCoef, tireContactPatchReverseNormalCoef * tireSlipSoftCoef * tireSlipTreadCoef  )).." "..wd.name); print (" ")
  -- TIRE ROLL VOLUME PROPERTIES (left value = true value, right value = normalised Coef value)
  -- print ((string.format("ROLL Vol=wd.radi=%0.2f : wd.hubR=%0.2f : VolProfile=%0.2f/%0.2f : Width=%0.2f/%0.2f : ContPat=%0.2f/%0.2f : Tread=%0.2f/%0.2f : Soft=%0.2f/%0.2f : AirVol=%0.2f/%0.2f : PropVolRoll=%0.2f : PropVolSkid=%0.2f : PropPitch=%0.2f", wd.radius, wd.hubRadius, (wd.radius - wd.hubRadius), tireVolProfileCoef, wd.tireWidth, tireVolWidthCoef, (wd.radius * wd.radius * wd.tireWidth), tireContactPatchCoef, wd.treadCoef, tireVolTreadCoef, wd.softnessCoef, tireVolRollSoftCoef, wd.tireVolume, tireVolAirCoef, wh.tirePropertiesVolRoll, wh.tirePropertiesVolSkid, wh.tirePropertiesPitch)).." "..wd.name); print (" ")
  -- TIRE ROLL VOLUME PROPERTIES (left value = true value, right value = normalised Coef value)
  -- print ((string.format("ROLL Vol=wd.radi=%0.2f : wd.hubR=%0.2f : VolProfile=%0.2f/%0.2f : Width=%0.2f/%0.2f : ContPat=%0.2f/%0.2f : Tread=%0.2f/%0.2f : Soft=%0.2f/%0.2f : AirVol=%0.2f/%0.2f : PropVolRoll=%0.2f : PropVolSkid=%0.2f : PropPitch=%0.2f", wd.radius, wd.hubRadius, (wd.radius - wd.hubRadius), tireVolProfileCoef, wd.tireWidth, tireVolWidthCoef, (wd.radius * wd.radius * wd.tireWidth), tireContactPatchCoef, wd.treadCoef, tireVolTreadCoef, wd.softnessCoef, tireVolRollSoftCoef, wd.tireVolume, tireVolAirCoef, wh.tirePropertiesVolRoll, wh.tirePropertiesVolSkid, wh.tirePropertiesPitch)).." "..wd.name); print (" ")
  -- TIRE SKID VOLUME PROPERTIES (left value = true value, right value = normalised game value)
  -- print ((string.format("SKID Vol=wd.radi=%0.2f : wd.hubR=%0.2f : VolProfile=%0.2f/%0.2f : Width=%0.2f/%0.2f : ContPat=%0.2f/%0.2f : Tread=%0.2f/%0.2f : Soft=%0.2f/%0.2f : AirVol=%0.2f/%0.2f : PropVolRoll=%0.2f : PropSlip=%0.2f : PropVolSkid=%0.2f : PropPitch=%0.2f", wd.radius, wd.hubRadius, (wd.radius - wd.hubRadius), tireVolProfileCoef, wd.tireWidth, tireVolWidthCoef, (wd.radius * wd.radius * wd.tireWidth), tireContactPatchCoef, wd.treadCoef, tireVolTreadCoef, wd.softnessCoef, tireVolSkidSoftCoef, wd.tireVolume, tireVolAirCoef, wh.tirePropertiesVolRoll, wh.tirePropertiesSlip, wh.tirePropertiesVolSkid, wh.tirePropertiesPitch)).." "..wd.name);  print (" ")
  -- TIRE SKID VOLUME PROPERTIES (left value = true value, right value = normalised game value)
  -- print ((string.format("SKID Vol=wd.radi=%0.2f : wd.hubR=%0.2f : VolProfile=%0.2f/%0.2f : Width=%0.2f/%0.2f : ContPat=%0.2f/%0.2f : Tread=%0.2f/%0.2f : Soft=%0.2f/%0.2f : AirVol=%0.2f/%0.2f : PropVolRoll=%0.2f : PropSlip=%0.2f : PropVolSkid=%0.2f : PropPitch=%0.2f", wd.radius, wd.hubRadius, (wd.radius - wd.hubRadius), tireVolProfileCoef, wd.tireWidth, tireVolWidthCoef, (wd.radius * wd.radius * wd.tireWidth), tireContactPatchCoef, wd.treadCoef, tireVolTreadCoef, wd.softnessCoef, tireVolSkidSoftCoef, wd.tireVolume, tireVolAirCoef, wh.tirePropertiesVolRoll, wh.tirePropertiesSlip, wh.tirePropertiesVolSkid, wh.tirePropertiesPitch)).." "..wd.name);  print (" ")
  -- TIRE PITCH PROPERTIES (left value = true value, right value = normalised game value)
  -- print ((string.format("SKID PITCH=RubberRadius=%0.2f/%0.2f : Width=%0.2f/%0.2f : ContPat=%0.3f/%0.2f : Tread=%0.2f/%0.2f : Soft=%0.2f/%0.2f : AirVol=%0.2f/%0.2f : PropVolRoll=%0.2f : PropVolSkid=%0.2f : PropPitch=%0.2f : PropPitchOld=%0.2f", (wd.radius - wd.hubRadius), tirePitchRadiusCoef, wd.tireWidth, tirePitchWidthCoef, (wd.radius * wd.radius * wd.tireWidth), tireContactPatchCoef, wd.treadCoef, tirePitchTreadCoef, wd.softnessCoef, tirePitchSoftCoef, wd.tireVolume, tirePitchAirCoef, wh.tirePropertiesVolRoll, wh.tirePropertiesVolSkid, wh.tirePropertiesPitch, wh.tirePropertiesPitch_old)).." "..wd.name); print (" ")
  -- TIRE PITCH PROPERTIES (left value = true value, right value = normalised game value)
  -- print ((string.format("SKID PITCH=RubberRadius=%0.2f/%0.2f : Width=%0.2f/%0.2f : ContPat=%0.3f/%0.2f : Tread=%0.2f/%0.2f : Soft=%0.2f/%0.2f : AirVol=%0.2f/%0.2f : PropVolRoll=%0.2f : PropVolSkid=%0.2f : PropPitch=%0.2f : PropPitchOld=%0.2f", (wd.radius - wd.hubRadius), tirePitchRadiusCoef, wd.tireWidth, tirePitchWidthCoef, (wd.radius * wd.radius * wd.tireWidth), tireContactPatchCoef, wd.treadCoef, tirePitchTreadCoef, wd.softnessCoef, tirePitchSoftCoef, wd.tireVolume, tirePitchAirCoef, wh.tirePropertiesVolRoll, wh.tirePropertiesVolSkid, wh.tirePropertiesPitch, wh.tirePropertiesPitch_old)).." "..wd.name); print (" ")
  -- TIRE KICKUP PROPERTIES
  -- print ((string.format("KICKUP tireContactPatchCoef+0.5=%.2f : tireKickSoftCoef=%.2f : tirePropertiesKickup=%.2f",tireContactPatchCoef + 0.5, tireKickSoftCoef, wh.tirePropertiesKickup)).." "..wd.name)
  -- tirePropertiesVolRoll
  -- print ((string.format("tirePropertiesVolRoll - (tireContactPatchCoef=%0.3f * tireVolTreadCoef=%0.3f) * (tireVolAirCoef=%0.3f * tireVolProfileCoef%0.3f) = %0.3f", tireContactPatchCoef, tireVolTreadCoef, tireVolAirCoef, tireVolProfileCoef, (tireContactPatchCoef * tireVolTreadCoef) * (tireVolAirCoef * tireVolProfileCoef))).." "..wd.name)
  -- tirePropertiesVolSkid
  -- print ((string.format("tirePropertiesVolSkid - (tireContactPatchCoef=%0.3f * tireVolTreadCoef=%0.3f) * (tireVolAirCoef=%0.3f * tireVolProfileCoef%0.3f) = %0.3f", tireContactPatchCoef, tireVolTreadCoef, tireVolAirCoef, tireVolProfileCoef, (tireContactPatchCoef * tireVolTreadCoef) * (tireVolAirCoef * tireVolProfileCoef))).." "..wd.name)
  --Static RTPC'st
  -- print ((string.format("wh.tirePropertiesVolRoll = %0.3f / wh.tirePropertiesPitch = %0.3f / wh.tirePropertiesSizeTread = %0.3f / wh.tirePropertiesVolSkid = %0.3f / wh.softnessCoef = %0.3f", wh.tirePropertiesVolRoll, wh.tirePropertiesPitch, wh.tirePropertiesSizeTread, wh.tirePropertiesVolSkid, wd.softnessCoef)).." "..wd.name)
local function bodyCollision(p)
  -- print((p.slipVel * p.normalForce * 0.001)..','..(p.slipVel * 0.01)..','..(p.normalForce * 0.01))
  local slipVel = p.slipVel
  obj:queueGameEngineLua(string.format("core_sounds.setCabinFilterStrength(%d, %f)", obj:getID(), clamp(cabinFilterCoef, 0, 1)))
  -- print(string.format("%d: Setting Cabin Filter -> %f", objectId, clamp(cabinFilterCoef, 0, 1)))
end
            -- Audio debug - display the current suspension setup from jbeam
            -- print (string.format("Suspension : %s color=%.2f  attack=%.0f  volume=%.2f  decay=%.0f  pitch=%.2f  maxStress=%.0f", bm.soundFile, bm.colorFactor, bm.attackFactor, bm.volumeFactor, bm.decayFactor, bm.pitchFactor, bm.maxStress))
            -- print (string.format("Suspension : %s color=%s  attack=%s  volume=%s  decay=%s  pitch=%s  maxStress=%s", dumps(bm.soundFile), dumps(bm.colorFactor), dumps(bm.attackFactor), dumps(bm.volumeFactor), dumps(bm.decayFactor), dumps(bm.pitchFactor), dumps(bm.maxStress)))
            -- print (string.format("Suspension : %s color=%.2f  attack=%.0f  volume=%.2f  decay=%.0f  pitch=%.2f  maxStress=%.0f", bm.soundFile, bm.colorFactor, bm.attackFactor, bm.volumeFactor, bm.decayFactor, bm.pitchFactor, bm.maxStress))
            -- print (string.format("Suspension : %s color=%s  attack=%s  volume=%s  decay=%s  pitch=%s  maxStress=%s", dumps(bm.soundFile), dumps(bm.colorFactor), dumps(bm.attackFactor), dumps(bm.volumeFactor), dumps(bm.decayFactor), dumps(bm.pitchFactor), dumps(bm.maxStress)))
@/lua/vehicle/energyStorage/pressureTank.lua
  if storage.pneumaticPTOSupplyPressureElectricsName and storage.pneumaticPTOSupplyFlowElectricsName then
    --print("consumer")
    local supplyPressure = electrics.values[storage.pneumaticPTOSupplyPressureElectricsName] or 0 --supply pressure from our supply (which can be another consumer, but we don't care)
      local airEnergyIn = abs(pressureDiff) * airVolumeIn
      --print(string.format("Supply: %.2f, local: %.2f, diff: %.2f", supplyPressure, storage.currentPressure, pressureDiff))
      storage.storedEnergy = max(0, storage.storedEnergy + airEnergyIn)
  if storage.pneumaticPTOSupplyCouplerNodeLookup[nodeId] then
    --print("we are consumer")
    --we now need to create the correct electrics names to sync with our supply consiting of the agreed upon base name and the supply's objId
    electrics.values[storage.pneumaticPTOSupplyFlowElectricsName] = 0
    --print(storage.pneumaticPTOSupplyPressureElectricsName)
    --print(storage.pneumaticPTOSupplyFlowElectricsName)
    --print(storage.pneumaticPTOSupplyPressureElectricsName)
    --print(storage.pneumaticPTOSupplyFlowElectricsName)
    beamstate.sendExportCouplerData(obj2id, obj2nodeId, {electrics = {storage.pneumaticPTOSupplyPressureElectricsName}})
  if storage.pneumaticPTOConsumerCouplerNodeLookup[nodeId] then
    --print("we are supply")
    --initialize the reported pressure and flow to 0, flow is then constantly updated from the consumer via the coupler and pressure by us
@/lua/ge/main.lua
    log("W", b, "The long log message above has been triggered by:")
    print(debug.tracesimple())
  end
function editorEnabled(enabled)
  --print('editorEnabled', enabled)
  extensions.hook('onEditorEnabled', enabled)
function onFileChanged(files)
  --print("onFileChanged: " .. dumps(files))
  settings.onFilesChanged(files)
  for _,v in pairs(files) do
    --print("onFileChanged: " .. tostring(v.filename) .. ' : ' .. tostring(v.type))
    extensions.hook('onFileChanged', v.filename, v.type)
local function loadModScriptsRec(dir)
  --print("Loading ModScripts on " .. dir)
  local filefilter = dir .. "/*/modScript.cs"
    if fileC ~= "" then
      --print(" * loading mod script file: " .. fileC)
      require(fileC)
  log('E','','loadGameModeModules(xxx) will be deprecated soon. Instead, replace with these calls:\nunloadAutoExtensions()\nloadPresetExtensions()\nextensions.load(xxx) -- you can omit this line if no parameter was passed')
  print(debug.tracesimple())
  log('E','','== OUTDATED MOD CODE ==')
  log('E','',"registerCoreModule("..dumps(extensionName).." will be deprecated soon. Instead, replace with: setExtensionUnloadMode(M, \"manual\")")
  print(debug.tracesimple())
  log('E','','== OUTDATED MOD CODE ==')
@/lua/vehicle/controller/powertrainControl/activeCenterDiff.lua

  --print("--------------------------------")
  local oversteerControl = throttleLockMap:get(throttleInput, vehicleSpeed) or 0
  --print("oversteerControl: " .. oversteerControl)
  --calculate slip between axle1 and axle2
  local slip = abs((frontAxleAV - rearAxleAV) / max(abs(frontAxleAV), abs(rearAxleAV), 0.1)) --Calculate normalized slip ratio between axles
  --print("slip: " .. slip)
  local allowedSlip = allowedSlipMap:get(throttleInput, vehicleSpeed) or 0
  local allowedSlip = allowedSlipMap:get(throttleInput, vehicleSpeed) or 0
  --print("allowedSlip: " .. allowedSlip)
  local slipControl = slipLockMap:get(max(slip - allowedSlip, 0), vehicleSpeed) or 0
  local slipControl = slipLockMap:get(max(slip - allowedSlip, 0), vehicleSpeed) or 0
  --print("slipControl: " .. slipControl)
  local stabilityControl = brakeLockMap:get(brakeInput, vehicleSpeed) or 0
  local stabilityControl = brakeLockMap:get(brakeInput, vehicleSpeed) or 0
  --print("stabilityControl: " .. stabilityControl)
  local leftFootBrakeControl = leftFootBrakeLockMap:get(brakeInput, vehicleSpeed) or 0
  local leftFootBrakeControl = leftFootBrakeLockMap:get(brakeInput, vehicleSpeed) or 0
  --print("leftFootBrakeControl: " .. leftFootBrakeControl)
  local steeringControl = steeringLockMap:get(steeringInput, vehicleSpeed) or 0
  local steeringControl = steeringLockMap:get(steeringInput, vehicleSpeed) or 0
  --print("steeringControl: " .. steeringControl)
  local decelerationLock = stabilityControl - steeringControl
  --print("accelerationLock: " .. accelerationLock)
  --print("decelerationLock: " .. decelerationLock)
  --print("accelerationLock: " .. accelerationLock)
  --print("decelerationLock: " .. decelerationLock)
  local modeSelection = clamp(throttleInput - brakeInput, -1, 1)
  --print("modeSelection: " .. modeSelection)
  desiredLock = modeSelection < -0.01 and decelerationLock or accelerationLock
  --print("desiredLock: " .. desiredLock)
  local handbrakeLockCoef = handbrakeLockMap:get(handbrakeInput, vehicleSpeed) or 0
  --print("handbrakeLockCoef: " .. handbrakeLockCoef)
  local absActiveLockCoef = 1 - (electrics.values.absActive or 0)

  --print(string.format("Desired Lock: %.2f ", desiredLock) .. string.format("Slip: %.2f ", slip))
  centerDiff.activeLockCoef = desiredLock
  if not centerDiff or not axleDiff1 or not axleDiff2 then
    print("Diff(s) not found")
    M.updateFixedStep = nil
@/lua/console/bananabench-xml.lua
    end
  print("serializeXmlToFile")
    serializeXmlToFile(filename, xml)
@/lua/ge/extensions/tech/lidarTest.lua

    print("LiDAR sensor test: stage 1 starting")

    print("LiDAR sensor test: stage 2 starting")

    print("LiDAR sensor test complete")
  end
local function onVehicleDestroyed(vid)
  print("LiDAR sensor test: vehicle destroyed and test sensor removed")
  research.sensorManager.removeAllSensorsFromVehicle(vid)
@/lua/ge/extensions/flowgraph/nodes/gameplay/groundmarkers.lua
  if type(self.lastTarget) ~= type(self.pinIn.target.value) then
    --print("groundmarkers: different types: " .. type(self.lastTarget) .. " " .. type(self.pinIn.target.value))
    return true
    if #self.lastTarget ~= #self.pinIn.target.value then
      --print("groundmarkers: different size: " .. #self.lastTarget .. " " .. #self.pinIn.target.value)
      return true
        if math.abs(self.lastTarget[i] - self.pinIn.target.value[i]) > threshold then
          --print("groundmarkers: different element: " .. self.lastTarget[i] .. " " .. self.pinIn.target.value[i])
          allSame = false
        if self.lastTarget[i] ~= self.pinIn.target.value[i] then
          --print("groundmarkers: different element: " .. self.lastTarget[i] .. " " .. self.pinIn.target.value[i])
          allSame = false
    if not allSame then
      --print("groundmarkers: different elements")
    end
    if self.lastTarget ~= self.pinIn.target.value then
      --print("groundmarkers: different strings: " .. self.lastTarget .. " " .. self.pinIn.target.value)
    end
    local newTarget = self:hasNewTarget()
    --print("groundmarkers: " .. tostring(newTarget))
    if newTarget then
@/lua/ge/extensions/editor/vehicleDetailViewer.lua
local function onExtensionLoaded()
  print('editor_vehicleDetailViewer loaded')
  refreshLayoutFiles()
  end
  print('editor_vehicleDetailViewer unloaded')
end
@/lua/ge/extensions/util/followTheWhiteRabbit.lua

  print('> You enter a wide open space. Grey tiles on the ground, cubic objects in the horizon. A big banner reads "GRIDMAP" ahead of you. You are sitting inside a blue pickup. What do you do? < throttle / exit vehicle / change vehicle>')
end
  if cmd == 'throttle' then
    print('You crash. Game over.')
  else
@/lua/console/json-performance.lua
local filenames = FS:findFiles('/vehicles', '*.jbeam', -1, false, false)
print(' * Finding all ' .. tostring(#filenames) .. ' json files took ' ..  string.format('%0.3f', hp:stopAndReset()) .. 's')
  totalSize = totalSize + string.len(fileContent[filename])
  --print(' * ' ..tostring(filename))
end
local t = hp:stopAndReset()
print(' * Reading into memory took ' .. string.format('%0.3f', t) .. 's. Size: ' .. string.format('%0.3f', (totalSize) /1000/1000 ) .. ' MB. Performance: ' .. string.format('%0.3f', (totalSize / t) /1000/1000 ) .. ' MB/s')
    for filename, content in pairs(fileContent) do
      --print(' * ' ..tostring(filename))
      local state, data = xpcall(jdecode, debug.traceback, content)
      if state == false then
        print("unable to decode JSON: "..tostring(filename))
        print("jsonDecode", "JSON decoding error: "..tostring(data))
        print("unable to decode JSON: "..tostring(filename))
        print("jsonDecode", "JSON decoding error: "..tostring(data))
        return nil
  local totalSizeReruns = totalSize * reruns
  print(' * Parsing (' .. tostring(reruns) .. 'x = '.. string.format('%0.3f', totalSizeReruns /1000000 ) .. ' MB) took ' .. string.format('%0.3f', t) .. 's. Performance: ' .. string.format('%0.3f', (totalSizeReruns/1000000) / t  ) .. ' MB/s'..string.format(' in %0.3f sec', t))
end
-- require('jit').off()
-- print(" == JIT off ==")
-- test()
for filename, content in pairs(fileContent) do
  --print(' * ' ..tostring(filename))
  local state, data = pcall(json.decode, content)
    for filename, content in pairs(luaContent) do
      --print(' * ' ..tostring(filename))
      lpackContent[filename] = lpack.encode(content)
  local totalSizeReruns = totalSize * reruns
  print('Total packed size = '..totalPackSize)
  print(' * Encoding (' .. tostring(reruns) .. 'x = '.. string.format('%0.3f', totalSizeReruns /1000000 ) .. ' MB) took ' .. string.format('%0.3f', t) .. 's. Performance: ' .. string.format('%0.3f', (totalSizeReruns/1000000) / t  ) .. ' MB/s'..string.format(' in %0.3f sec', t))
  print('Total packed size = '..totalPackSize)
  print(' * Encoding (' .. tostring(reruns) .. 'x = '.. string.format('%0.3f', totalSizeReruns /1000000 ) .. ' MB) took ' .. string.format('%0.3f', t) .. 's. Performance: ' .. string.format('%0.3f', (totalSizeReruns/1000000) / t  ) .. ' MB/s'..string.format(' in %0.3f sec', t))
end

print()
print(" == Lpack Encode ==")
print()
print(" == Lpack Encode ==")
testLpackEncode()
    for filename, content in pairs(lpackContent) do
      --print(' * ' ..tostring(filename))
      lpack.decode(content)
  local totalSizeReruns = totalPackSize
  print(' * Parsing (' .. tostring(reruns) .. 'x = '.. string.format('%0.3f', totalSizeReruns /1000000 ) .. ' MB) took ' .. string.format('%0.3f', t) .. 's. Performance: ' .. string.format('%0.3f', (totalSizeReruns/1000000) / t  ) .. ' MB/s'..string.format(' in %0.3f sec', t))
end

print(" == Lpack Decode ==")
testLpackDecode()
    for filename, content in pairs(luaContent) do
      --print(' * ' ..tostring(filename))
      lpackContent[filename] = lpack.encodeBin(content)
  local totalSizeReruns = totalSize * reruns
  print('Total packed size = '..totalPackSize)
  print(' * Encoding (' .. tostring(reruns) .. 'x = '.. string.format('%0.3f', totalSizeReruns /1000000 ) .. ' MB) took ' .. string.format('%0.3f', t) .. 's. Performance: ' .. string.format('%0.3f', (totalSizeReruns/1000000) / t  ) .. ' MB/s'..string.format(' in %0.3f sec', t))
  print('Total packed size = '..totalPackSize)
  print(' * Encoding (' .. tostring(reruns) .. 'x = '.. string.format('%0.3f', totalSizeReruns /1000000 ) .. ' MB) took ' .. string.format('%0.3f', t) .. 's. Performance: ' .. string.format('%0.3f', (totalSizeReruns/1000000) / t  ) .. ' MB/s'..string.format(' in %0.3f sec', t))
end

print()
print(" == Lpack EncodeBin ==")
print()
print(" == Lpack EncodeBin ==")
testLpackEncodeBin()

print(" == Lpack DecodeBin ==")
testLpackDecode()
  local totalSizeReruns = totalSize * reruns
  print('Total packed size = '..totalPackSize)
  print(' * Encoding (' .. tostring(reruns) .. 'x = '.. string.format('%0.3f', totalSizeReruns /1000000 ) .. ' MB) took ' .. string.format('%0.3f', t) .. 's. Performance: ' .. string.format('%0.3f', (totalSizeReruns/1000000) / t  ) .. ' MB/s'..string.format(' in %0.3f sec', t))
  print('Total packed size = '..totalPackSize)
  print(' * Encoding (' .. tostring(reruns) .. 'x = '.. string.format('%0.3f', totalSizeReruns /1000000 ) .. ' MB) took ' .. string.format('%0.3f', t) .. 's. Performance: ' .. string.format('%0.3f', (totalSizeReruns/1000000) / t  ) .. ' MB/s'..string.format(' in %0.3f sec', t))
end

print()
print(" == string.buffer Encode ==")
print()
print(" == string.buffer Encode ==")
strbufEncode()
  local totalSizeReruns = totalPackSize
  print(' * Parsing (' .. tostring(reruns) .. 'x = '.. string.format('%0.3f', totalSizeReruns /1000000 ) .. ' MB) took ' .. string.format('%0.3f', t) .. 's. Performance: ' .. string.format('%0.3f', (totalSizeReruns/1000000) / t  ) .. ' MB/s'..string.format(' in %0.3f sec', t))
end

print(" == string.buffer Decode ==")
strbufDecode()
@/lua/vehicle/extensions/outgauge.lua
log("E", "", "Something tried to use the deprecated 'lua/vehicle/extensions/outgauge.lua' file. If you are the programmer/modder responsible for that attempt, please check https://go.beamng.com/protocols")
print(debug.tracesimple())
return {}
@/lua/ge/extensions/flowgraph/nodes/macro/integrated.lua
  if self.graphType == 'instance' then
    --print(self.mgr == nil and "mgr nil " or "mgr ok")
    --print(self.macroID == nil and "self.macroID nil " or "self.macroID ok")
    --print(self.mgr == nil and "mgr nil " or "mgr ok")
    --print(self.macroID == nil and "self.macroID nil " or "self.macroID ok")
    --print(self.mgr.macros[self.macroID] == nil and "self.mgr.macros[self.macroID] nil " or "self.mgr.macros[self.macroID] ok")
    --print(self.macroID == nil and "self.macroID nil " or "self.macroID ok")
    --print(self.mgr.macros[self.macroID] == nil and "self.mgr.macros[self.macroID] nil " or "self.mgr.macros[self.macroID] ok")
    --res.macroPath = self.mgr.macros[self.macroID].macroPath
        self.inputNode.pinOut[pin.name].value = pin.value
        --print("Hardcoded pin: " .. pin.name .. " of " .. self.inputNode.pinOut[pin.name].id)
        --dumpz(self.inputNode.pinOut[pin.name],1)
@/lua/vehicle/controller/esc.lua
        throttleFactorData[throttleFactorName].peakSlip = max(throttleFactorData[throttleFactorName].peakSlip, slipError)
        --print(wheel.name .. " -> " .. throttleFactorData[throttleFactorName].peakSlip)
@/lua/ge/extensions/gameplay/race/race.lua
    }
    print(string.format("T: %0.6f", finishedSegmentT))
    -- get correct startTime for this segment
@/lua/ge/extensions/ui/uiNavi.lua
  end
  -- print('new node list size (char): ' .. tostring(string.len(jsonEncode(newNodes))) .. ' (used to be: ' .. oldSize .. ', nr nodes: '.. tostring(counter - 2) .. ')')
  return newNodes
local function requestUIDashboardMap()
  print("Requesting UI Dashboard Map...")
  local d = {}
@/lua/ge/extensions/editor/gen/render.lua
	for _,pos in pairs(set) do
--			print('?? set:'..tostring(pos)..':'..tostring(campos)..':'..tostring(c))
		local r = w*math.sqrt((pos-campos):length())
	for _,s in pairs(list) do
--			print('?? label:'..tostring(s[2])..':'..tostring(s[1]))
		debugDrawer:drawText(s[2], String(tostring(s[1])), c)
local function circle(center, r, c, w, dd)
--        print('?? circle:'..tostring(center))
	if not w then w = 1 end
		end
--        print('?? for_i:'..tostring(i)..tostring(center)..'::'..tostring(r)..' dv='..tostring(dv)..' v='..tostring(v)..tostring(v+dv))
		v = v + dv
@/lua/vehicle/extensions/straightLine.lua
  targetPosOffset = vec3(0, 1, 0)
  print("Targetpos: " .. dumps(baseTargetPos))
  steeringMode = mode
  print("Using steering mode: " .. steeringMode)
end
@/lua/common/kdtreepoint3d.lua
function kdTree:analytics()
  print('Tree Depth = '..ceil(log10(#self.tree / 4 + 1) / log10(2)))
  print('Number of tree Nodes = '..#self.tree / 4)
  print('Tree Depth = '..ceil(log10(#self.tree / 4 + 1) / log10(2)))
  print('Number of tree Nodes = '..#self.tree / 4)
  print('Number of leaf nodes (nodes containing items) = '..(#self.tree - self.nonLeafLimIdx) / 4)
  print('Number of tree Nodes = '..#self.tree / 4)
  print('Number of leaf nodes (nodes containing items) = '..(#self.tree - self.nonLeafLimIdx) / 4)
  print('Number of items in tree = '..self.itemCount)
  print('Number of leaf nodes (nodes containing items) = '..(#self.tree - self.nonLeafLimIdx) / 4)
  print('Number of items in tree = '..self.itemCount)
  print('Average number of items in leaf nodes = '..self.itemCount / ((#self.tree - self.nonLeafLimIdx) / 4))
  print('Number of items in tree = '..self.itemCount)
  print('Average number of items in leaf nodes = '..self.itemCount / ((#self.tree - self.nonLeafLimIdx) / 4))
end
@/lua/ge/extensions/flowgraph/manager.lua
  if self.graphs[i] or self.macros[i] then
    print("Duplicate ID in graphs or macros. " .. id)
    return true
      if graph.nodes[i] then
        print("Duplicate id in graph " .. graph.name .. "/" .. node.name .. ": " .. id)
        return true
        if macro.nodes[i] then
          print("Duplicate id in macro " .. macro.name .. "/" .. node.name .. ": " .. id)
          return true
        log('E', '', 'Removing Graph.'..key)
        print(debug.tracesimple())
      end
function C:createGraph(name, hidden, forceId)
  --print("Creating Graph. "..tostring(name).. "-" ..tostring(hidden))
  local graph = require('/lua/ge/extensions/flowgraph/graph')(self, name, forceId)
function C:updateSubgraphs(graph)
  --print("Update Subgraphs is called.")
  for id, node in pairs(graph.nodes) do
    macro = macro:getRootGraph()
    --print("Changed Macro " .. macro.name .. " (" .. macro.id .. ")")
    ui_flowgraph_editor.SetCurrentEditor(self.fgEditor.ectx)
        if graph.macroID == macro.id then
          --print("Updating Instance " .. graph.name .. " ("..graph.id..")")
          -- find the node that represents this macro
            if self._recentInstanceRestore then
              --print("restoring instance .")
              self.recentInstance = graph:getDeepChild(storedPreviousInstance)
function C:createInstanceFromMacro(macro, node, forceId)
  --print("createInstanceFromMacro ".. macro.name)
  --ui_flowgraph_editor.SetCurrentEditor(self.fgEditor.ectx)
  if serializedData == nil then
    --print("Loading Macro from File.")
    serializedData = jsonReadFile(path)
    macroID = macro.id
    --print("Done loading Macro from File.")
  end
  serializedData.type = (node.graph.type == 'macro') and 'macro' or "instance"
  --print("node for instance from path graphs type is "  ..node.graph.type)
  instance:_onDeserialized(serializedData, map)
function C:historySnapshot(title)
  --print("Snapshot History: " .. title)
  if not self.allowEditing then
        macro:_onDeserialized(macroData)
        --print("Deserialized macro " .. macro.name)
        --oldIdMap[tonumber(macroID)] = macro
    end
    --for k, v in pairs(oldIdMap) do print(k .. "=>" .. (v.nodeType ~= nil and "Node" or "Graph") .. dumps(v.name)) end
    -- rebuild stategraph or create new one
@/lua/vehicle/powertrain/hydraulicAccumulator.lua
  if device.hydraulicPTOSupplyCouplerNodeLookup[nodeId] then
    --print("we are consumer")
    --we now need to create the correct electrics names to sync with our supply consiting of the agreed upon base name and the supply's objId
    electrics.values[device.hydraulicPTOSupplyMaxFlowRateElectricsName] = 0
    --print(device.hydraulicPTOSupplyPressureElectricsName)
    --print(device.hydraulicPTOSupplyFlowElectricsName)
    --print(device.hydraulicPTOSupplyPressureElectricsName)
    --print(device.hydraulicPTOSupplyFlowElectricsName)
    --print(device.hydraulicPTOSupplyMaxFlowRateElectricsName)
    --print(device.hydraulicPTOSupplyFlowElectricsName)
    --print(device.hydraulicPTOSupplyMaxFlowRateElectricsName)
    beamstate.sendExportCouplerData(obj2id, obj2nodeId, {electrics = {device.hydraulicPTOSupplyPressureElectricsName, device.hydraulicPTOSupplyMaxFlowRateElectricsName}})
  if device.hydraulicPTOConsumerCouplerNodeLookup[nodeId] then
    --print("we are supply")
    --initialize the reported pressure and flow to 0, flow is then constantly updated from the consumer via the coupler and pressure by us
@/lua/ge/extensions/gameplay/rally/notebook/pacenoteWaypoint.lua
function C:setRoutePoint(rp)
  -- print(string.format("setRoutePoint for %s -> %s", self.name, tostring(not not rp)))
  self.routePoint = rp
@/lua/ge/extensions/editor/flowgraphEditor.lua
  if M.previousMgrName then
    --print("previous mgr is " .. M.previousMgrName)
    for _, m in ipairs(fgMgr.getAllManagers())  do
local function addHistory(title, graph)
  print(title)
  local snap = { title = title}
  end
  --print(tonumber(ui_flowgraph_editor.GetDirtyReason()))
  if focus then
    --print("Focus: " .. tostring(focus))
    if not pushedActionMap then
  --return {fieldValue = fieldValue, editEnded = true }
  print(">>> customFieldEditor")
end
@/lua/common/interpolatedMap.lua
    if self.clampToDataRange then
      --print("clamping x to range")
      x = clamp(x,self.xMin, self.xMax)
    else
      --print("x outside of range")
      return nil
    if self.clampToDataRange then
      --print("clamping y to range")
      y = clamp(y,self.yMin, self.yMax)
    else
      --print("y outside of range")
      return nil
  if x == self.xMax then
    --print("x is xMax")
    x1Index = self.xMaxIndex - 1
  if not x1Index or not x2Index then
    --print("Could not find valid x indices")
    return nil

  -- print("x1: "..x1Index)
  -- print("x2: "..x2Index)
  -- print("x1: "..x1Index)
  -- print("x2: "..x2Index)
  if y == self.yMax then
    --print("y is yMax")
    y1Index = self.yMaxIndex - 1
  if not y1Index or not y2Index then
    -- print("Could not find valid y indices")
    return nil

  -- print("y1: "..y1Index)
  -- print("y2: "..y2Index)
  -- print("y1: "..y1Index)
  -- print("y2: "..y2Index)

  -- print("q11: "..q11)
  -- print("q12: "..q12)
  -- print("q11: "..q11)
  -- print("q12: "..q12)
  -- print("q21: "..q21)
  -- print("q12: "..q12)
  -- print("q21: "..q21)
  -- print("q22: "..q22)
  -- print("q21: "..q21)
  -- print("q22: "..q22)

  -- print("x1Value: "..x1Value)
  -- print("x2Value: "..x2Value)
  -- print("x1Value: "..x1Value)
  -- print("x2Value: "..x2Value)
  -- print("y1Value: "..y1Value)
  -- print("x2Value: "..x2Value)
  -- print("y1Value: "..y1Value)
  -- print("y2Value: "..y2Value)
  -- print("y1Value: "..y1Value)
  -- print("y2Value: "..y2Value)

  -- print("r1: "..r1)
  -- print("r2: "..r2)
  -- print("r1: "..r1)
  -- print("r2: "..r2)
  -- print("p: "..p)
  -- print("r2: "..r2)
  -- print("p: "..p)
@/lua/vehicle/controller/bypassDampers.lua
local function setDamperZone(damper, zoneId)
  --print(string.format("Damper %d set to zone %f", damper.beamCid, zoneCid))
  local zone = damperZones[zoneId]
      -- if M.name == "frontBypass" and _ == 1 then
      --   print(string.format("CLICK! Switch from %d to %d at velocity %.3fm/s, volume: %.2f", damper.previousDirection, smoothDirection, velocity, volume))
      -- end
@/lua/ge/extensions/gameplay/rally/client.lua
  else
    --print('body:' .. tostring(body))
    --print('code:' .. tostring(code))
    --print('body:' .. tostring(body))
    --print('code:' .. tostring(code))
    --print('headers:' .. dumps(headers))
    --print('code:' .. tostring(code))
    --print('headers:' .. dumps(headers))
    --print('status:' .. tostring(status))
    --print('headers:' .. dumps(headers))
    --print('status:' .. tostring(status))
    local rv = jsonDecode(table.concat(respbody), 'json request response')
@/lua/vehicle/controller/vehicleController/shiftLogic/dctGearbox.lua
  M.shiftingAggression = shiftAggression
  --print(string.format("GR: %.2f, AG: %.2f, IN: %.2f -> %.2f", gearRatioCoef, aggressionCoef, inertiaCoef, shiftAggression))
end
  end
  --print(string.format("Clutch1: %.2f, Clutch 2: %.2f",electrics.values.clutchRatio1,electrics.values.clutchRatio2))
    else
      print("unknown auto mode: " .. mode)
    end
@/lua/ge/extensions/core/vehicleBridge.lua
  --if params[1] == 'setFreeze' then
    --print(debug.tracesimple())
  --end
@/lua/vehicle/extensions/dynamicVehicleData.lua
  for k, v in pairs(newData) do
    --print(k .. ": " .. v)
    if oldData then
  end
  --print("data pre clearing:")
  --dump(data)
  end
  --print("data post clearing:")
  --dump(data)
local function killswitch()
  --print(" === killswitch ===")
  obj:queueGameEngineLua("util_saveDynamicData.vehicleDone()")
  else
    print("Can't get torque curve for peak torque/power RPMs")
  end
  else
    print("Max power <= 0...")
  end
  else
    print("Max torque <= 0...")
  end
  -- for _, wd in pairs(adjustedWheels) do
  --   print(wd.name)
  --   print(wd.rotatorType)
  --   print(wd.name)
  --   print(wd.rotatorType)
  -- end
  avgWheelPos = avgWheelPos / wheelCount --make the average of all positions
  --print("Wheels: " .. tostring(wheelCount))
  --print("Propulsed: " .. tostring(propulsedWheelsCount))
  --print("Wheels: " .. tostring(wheelCount))
  --print("Propulsed: " .. tostring(propulsedWheelsCount))
    if diff.mode ~= "locked" then
      print("Setting diff '" .. diff.name .. "' to locked")
      diff:setMode("locked")
    if shaft.mode ~= "connected" then
      print("Setting shaft '" .. shaft.name .. "' to connected")
      shaft:setMode("connected")
    if rangebox.mode ~= "high" then
      print("Setting rangebox '" .. rangebox.name .. "' to high")
      rangebox:setMode("high")
    if timer > 10 then
      print("Can't accelerate, aborting...")
      return
      -- no speed info, ship this
      print("Not getting any speed info, aborting...")
      return
    if timer > 20 and speed <= fiveKmh then
      print("Can't accelerate, aborting...")
      return
      time100200kmh = timer
      print("0-100: " .. tostring(timer))
    end
      time100200kmh = timer - time100200kmh
      print("0-200: " .. tostring(timer))
    end
      time300kmh = timer
      print("0-300: " .. tostring(timer))
    end
    if perfectLaunch.launchFailed then
      print("launch failed...")
      break
    if timer - maxSpeedTime > 5 then
      print("reached max speed")
      break
  if timer >= 400 then
    print("high speed test timed out")
  end
    if diff.mode ~= "locked" then
      print("Setting diff '" .. diff.name .. "' to locked")
      diff:setMode("locked")
    if shaft.mode ~= "connected" then
      print("Setting shaft '" .. shaft.name .. "' to connected")
      shaft:setMode("connected")
    if rangebox.mode ~= "high" then
      print("Setting rangebox '" .. rangebox.name .. "' to high")
      rangebox:setMode("high")
    if timer > 20 and speed <= fiveKmh then
      print("Can't accelerate, aborting...")
      return
    if timer - maxSpeedTime > 15 then
      print("Stopped accelerating, can't go fast enough, aborting...")
      return
    if timer > 120 then
      print("Can't accelerate fast enough for brake test, aborting...")
      return

  print("Brake distance: " .. tostring(distance100) .. " m")
    if diff.mode ~= "locked" then
      print("Setting diff '" .. diff.name .. "' to locked")
      diff:setMode("locked")
    if shaft.mode ~= "connected" then
      print("Setting shaft '" .. shaft.name .. "' to connected")
      shaft:setMode("connected")
    if rangebox.mode ~= "low" then
      print("Setting rangebox '" .. rangebox.name .. "' to low")
      rangebox:setMode("low")
      beamBrokenDistance = (firstBeamBreakPosition - startingPosition):length()
      print("beam broken")
    end
    if timer - maxDistanceTime > 10 then
      print("Stopped advancing, can't go further, aborting...")
      break

  print("Off-Road distance: " .. tostring(distance) .. " m")
  print("Off-Road beam break distance: " .. tostring(beamBrokenDistance) .. " m")
  print("Off-Road distance: " .. tostring(distance) .. " m")
  print("Off-Road beam break distance: " .. tostring(beamBrokenDistance) .. " m")
  saveInfo({["Off-Road Score"] = math.ceil(((3 * distance + beamBrokenDistance) / 500 / 4) * 100)}, {"Off-Road Score"})
@/lua/vehicle/extensions/outsim.lua
log("E", "", "Something tried to use the deprecated 'lua/vehicle/extensions/outsim.lua' file. If you are the programmer/modder responsible for that attempt, please check https://go.beamng.com/protocols")
print(debug.tracesimple())
return {}
@/lua/vehicle/extensions/api.lua

    --print('body:' .. tostring(body))
    --print('code:' .. tostring(code))
    --print('body:' .. tostring(body))
    --print('code:' .. tostring(code))
    --print('headers:' .. dumps(headers))
    --print('code:' .. tostring(code))
    --print('headers:' .. dumps(headers))
    --print('status:' .. tostring(status))
    --print('headers:' .. dumps(headers))
    --print('status:' .. tostring(status))
    return jsonDecode(table.concat(respbody), 'json request response')
local function handleServerRequest(request)
    --print("got request:")
    --dump(request)
@/lua/ge/extensions/gameplay/rally/snaproad.lua

  -- print('partitions:')
  -- for i,p in ipairs(partitions) do
  --   end
  --   print(s)
  -- end
@/lua/ge/extensions/flowgraph/nodes/math/math.lua
  end
  --print(expression)
  --load the now sanitized and sandbox checked code with our custom environment
@/lua/common/libs/lua-luaepnf/epnf.lua
  local marker = string.rep( " ", p-sol ) .. "^"
  print( n..":"..lno..": "..msg)
  print(line)
  print( n..":"..lno..": "..msg)
  print(line)
  print(marker)
  print(line)
  print(marker)
end
    if e then msg = msg .. ", " .. e end
    print( n..":"..lno..msg )
  end
@/lua/common/libs/slaxml/slaxml.lua
    pi = function(target,content)
      print(string.format("",target,content))
    end,
    comment = function(content)
      print(string.format("",content))
    end,
      if nsURI    then io.write(" (ns='",nsURI,"')") end
                       print(">")
    end,
    text = function(text,cdata)
      print(string.format("  %s: %q",cdata and 'cdata' or 'text',text))
    end,
      if nsPrefix then io.write(nsPrefix,":") end
                       print(name..">")
    end,
@/lua/vehicle/extensions/profiling/zone.lua
--     ...
--     print(zone:get()) --> "A*"
--     ...
--   ...
--   print(zone:get()) --> "AI"
--   ...
@/lua/ge/extensions/career/modules/delivery/parcelManager.lua
        cargo.loadedAtTimeStamp = cargo.loadedAtTimeStamp or dGeneral.time()
        print(cargo.name .." loaded at ".. cargo.loadedAtTimeStamp)
      end
  local cargo = M.getCargoById(cargoId)
  --print("Adding Transient Move to Cargo " .. cargo.name .. " -> " .. dumps(move))
  if cargo._transientMove then
local function applyTransientMoves(currentLocation)
  --print("Applying transient moves...")
  --if not currentLocation then
      if not currentLocation or M.sameLocation(currentLocation, cargo.location) then
        --print("Moved Transient Cargo " .. cargo.name .. " -> " .. dumps(move))
        -- basic cargo fields
        table.insert(remainingCargo, cargo)
        --print("Not moving transient cargo " .. cargo.name .. " -> " .. dumps(move))
      end
  local secondsChanged = math.floor(dGeneral.time()) ~= math.floor(lastFrameTime)
  --if secondsChanged then print("SC") end
  for _,cargo in ipairs(allCargo) do
@/lua/ge/extensions/gameplay/drag/dragTypes/headsUpDrag.lua
      --if racer.currentPhase == 2 or racer.currentPhase == 3 then
        --print("Running Phase: " .. racer.currentPhase)
      --end
@/lua/ge/extensions/flowgraph/nodes/input/blacklistAction.lua
    end
    --print(rem)
    if rem then
@/gameplay/missionTypes/knockAway/editor.lua
    mission.careerSetup.starOutroTexts[defaultStarKeysSorted[keyIdx]] = mission.missionTypeData[messageKeys[i]]
    print("Set Star " .. defaultStarKeysSorted[keyIdx] .. " outro text to: " .. mission.missionTypeData[messageKeys[i]])
  end
  mission.careerSetup.starOutroTexts['noStarUnlocked'] = mission.missionTypeData['failMessage']
  print("Set Star " .. 'noStarUnlocked' .. " outro text to: " .. mission.missionTypeData['failMessage'])
@/lua/ge/extensions/editor/materialEditor.lua
  end
  -- print(string.format("%0.2f", timer:stopAndReset()))
  -- dump(tags)
@/lua/common/kdtreebox3d.lua
function kdTree:analytics()
  print('Tree Depth = '..ceil(log10(#self.tree / 4 + 1) / log10(2)))
  print('Number of tree Nodes = '..#self.tree / 4)
  print('Tree Depth = '..ceil(log10(#self.tree / 4 + 1) / log10(2)))
  print('Number of tree Nodes = '..#self.tree / 4)
  print('Number of leaf nodes (nodes containing items) = '..(#self.tree - self.nonLeafLimIdx) / 4)
  print('Number of tree Nodes = '..#self.tree / 4)
  print('Number of leaf nodes (nodes containing items) = '..(#self.tree - self.nonLeafLimIdx) / 4)
  print('Number of items in tree = '..self.itemCount)
  print('Number of leaf nodes (nodes containing items) = '..(#self.tree - self.nonLeafLimIdx) / 4)
  print('Number of items in tree = '..self.itemCount)
  print('Average number of items in leaf nodes = '..self.itemCount / ((#self.tree - self.nonLeafLimIdx) / 4))
  print('Number of items in tree = '..self.itemCount)
  print('Average number of items in leaf nodes = '..self.itemCount / ((#self.tree - self.nonLeafLimIdx) / 4))
end
@/lua/vehicle/controller/jato.lua
  if M.fuelCoef <= 0 then
    print("When in doubt, JATO")
  end
@/lua/common/libs/lua-websockets/websocket/server_ev.lua
    else
      print('Websocket server error',err)
    end
    else
      print(err)
    end
          if not response then
            print('Handshake failed, Request:')
            print(upgrade_request)
            print('Handshake failed, Request:')
            print(upgrade_request)
            client_sock:close()
                write_io:stop(loop)
                print('Websocket client closed while handshake',err)
              elseif sent == len then
@/lua/ge/extensions/editor/gen/region.lua
--print('= REGION:')
	if true then return end
	print(ms)
end
@/lua/ge/extensions/flowgraph/modules/prefabModule.lua
      local obj = scenetree.findObjectById(id)
      --print("data.unpackVehiclesBeforeDeletion ->" .. dumps(data.unpackVehiclesBeforeDeletion))
      if obj then
@/lua/vehicle/powertrain/combustionEngine.lua
    --   device.starterBattery.storedEnergy = device.starterBattery.storedEnergy - starterSpentEnergy
    -- --print(starterSpentEnergy)
    -- --print(device.starterBattery.remainingRatio)
    -- --print(starterSpentEnergy)
    -- --print(device.starterBattery.remainingRatio)
    -- end

  --print(device.idleThrottle)
  end

  --print(reference)
  --print(params.eq_e_gain)
  --print(reference)
  --print(params.eq_e_gain)
  if reference == "engine" then
        -- Audio Debug (engine)
        -- print (string.format("       ENGINE idleRPM = %4.0f / maxRPM = %5.0f", jbeamData.idleRPM, jbeamData.maxRPM))
        -- print (string.format("       ENGINE idleRPM = %4.0f / limiterRPM = %5.0f / maxRPM = %5.0f", jbeamData.idleRPM, jbeamData.revLimiterRPM, jbeamData.maxRPM))
        -- print (string.format("       ENGINE idleRPM = %4.0f / maxRPM = %5.0f", jbeamData.idleRPM, jbeamData.maxRPM))
        -- print (string.format("       ENGINE idleRPM = %4.0f / limiterRPM = %5.0f / maxRPM = %5.0f", jbeamData.idleRPM, jbeamData.revLimiterRPM, jbeamData.maxRPM))
        -- print (string.format("%s  / maingain %4.2fdB / Muffling %.2f / onLoadGain %.2f / offLoadGain %.2f / lowShelf %.0f %4.2fdB / highShelf %4.0f %.2fdB / eqLow %.0f %.2fdB/ eqHigh %4.0f %.2fdB / eqFundamental %.2fdB", sampleName, main_gain, intakeMuffling, onLoadGain, offLoadGain, eq_a_freq, eq_a_gain, eq_b_freq, eq_b_gain, eq_c_freq, eq_c_gain, eq_d_freq, eq_d_gain, eq_e_gain))
        -- print (string.format("       ENGINE idleRPM = %4.0f / limiterRPM = %5.0f / maxRPM = %5.0f", jbeamData.idleRPM, jbeamData.revLimiterRPM, jbeamData.maxRPM))
        -- print (string.format("%s  / maingain %4.2fdB / Muffling %.2f / onLoadGain %.2f / offLoadGain %.2f / lowShelf %.0f %4.2fdB / highShelf %4.0f %.2fdB / eqLow %.0f %.2fdB/ eqHigh %4.0f %.2fdB / eqFundamental %.2fdB", sampleName, main_gain, intakeMuffling, onLoadGain, offLoadGain, eq_a_freq, eq_a_gain, eq_b_freq, eq_b_gain, eq_c_freq, eq_c_gain, eq_d_freq, eq_d_gain, eq_e_gain))
        -- Audio Debug (exhaust)
        -- print (string.format("%s / maingain %4.2fdB / Muffling %.2f / onLoadGain %.2f / offLoadGain %.2f / lowShelf %.0fhz %4.2fdB / highShelf %4.0fhz %.2fdB / eqLow %.0fhz %.2fdB/ eqHigh %4.0fhz %.2fdB / eqFundamental %.2fdB ",sampleName, main_gain, exhaustMuffling, onLoadGain, offLoadGain, eq_a_freq, eq_a_gain, eq_b_freq, eq_b_gain, eq_c_freq, eq_c_gain, eq_d_freq, eq_d_gain, eq_e_gain))
    table.insert(rawBasePoints, {v.rpm, v.torque})
    -- print (string.format("RPM = %5.0f, TORQUE = %4.0f", v.rpm, v.torque))
  end
@/lua/vehicle/powertrain/turbocharger.lua
  -- streams.drawGraph('spin pitch', {value = spindlePitch, max = 1})
  -- if spindlePitch > 0 then print(string.format(" hiss volum = %0.2f / spin volum %.2f / spin pitch %.3f)", hissVolume, spindleVolume, spindlePitch)); end
  end
      -- Audio Debug
      -- print (string.format(" BOV Volume(pressure) = %0.2f (= relativePressure %.2f * turboSizeCoef %.2f) :::: color(bovSoundVolumeCoef) = %0.2f ", relativePressure * turboSizeCoef, relativePressure, turboSizeCoef, bovSoundVolumeCoef).." :::: "..turbo.bovSoundFileName)
      bovSound = bovSound or obj:createSFXSource2(turbo.bovSoundFileName or "event:>Vehicle>Forced_Induction>Turbo_01>turbo_bov", "AudioDefaultLoop3D", "Bov", assignedEngine.engineNodeID, 0)
      -- Audio Debug
      -- print (string.format("FLUT Volume(pressure) = %0.2f (= relativePressure %.2f * turboSizeCoef %.2f) :::: color(flutterSoundVolumeCoef) = %0.2f", relativePressure * turboSizeCoef, relativePressure, turboSizeCoef, flutterSoundVolumeCoef).." :::: "..turbo.flutterSoundFileName)
      flutterSound = flutterSound or obj:createSFXSource2(turbo.flutterSoundFileName or "event:>Vehicle>Forced_Induction>Turbo_02>turbo_bov", "AudioDefaultLoop3D", "Flutter", assignedEngine.engineNodeID, 0)
  -- Audio Debug
  -- print (string.format("Turbo Hiss and Whine", turbo.hissLoopEvent).." : "..turbo.hissLoopEvent.." : "..turbo.whineLoopEvent)
  -- print (string.format("turbo.hissVolumePerPSI = %.3f : turbo.whineVolumePer10kRPM = %.3f : turbo.whinePitchPer10kRPM = %.3f", turbo.hissVolumePerPSI, turbo.whineVolumePer10kRPM, turbo.whinePitchPer10kRPM))
  -- print (string.format("Turbo Hiss and Whine", turbo.hissLoopEvent).." : "..turbo.hissLoopEvent.." : "..turbo.whineLoopEvent)
  -- print (string.format("turbo.hissVolumePerPSI = %.3f : turbo.whineVolumePer10kRPM = %.3f : turbo.whinePitchPer10kRPM = %.3f", turbo.hissVolumePerPSI, turbo.whineVolumePer10kRPM, turbo.whinePitchPer10kRPM))
end
@/lua/common/utils/simpleHttpServer.lua
    end)
    print('created http server')
local function handle(req)
  --print('new request: ' .. dumps(req))
  for _, v in pairs(handlers) do
    --print("** " .. tostring(req.uri.path) .. ' ~= ' .. tostring(v[1]))
    local res = {string.match(req.uri.path, v[1])}
@/lua/ge/extensions/util/maptiles.lua
        setRenderWorldMain(true)
        print("Tile generation stopped by user.")
      end
          end
          print("Tile generation started...")
        end
          frameCounter = 0
          print(string.format("Switched to Zoom Level %d", currentZoomLevel))
        end
            setRenderWorldMain(true)
            print("Tile generation completed!")
            generateTilePositions(currentZoomLevel)
            print(string.format("Starting Zoom Level %d...", currentZoomLevel))
          end
      currentTileIndex = 1
      print(string.format("Starting Zoom Level %d...", currentZoomLevel))
    else
      startTime = 0
      print("Tile generation completed!")
@/lua/vehicle/extensions/escMeasurement.lua
local function killswitch()
  --print(" === killswitch ===")
  obj:queueGameEngineLua("util_calibrateESC.vehicleDone()")
    ccHasReachedTargetSpeed = abs(error) / ccTargetSpeed <= 0.03
    --print(ccHasReachedTargetSpeed)

        --print(string.format("%.2f -> %.2f, %.3f -> %.2f", bsa, speedPoint, wheelAnglePoint, yawRatePoint))
        --dump(measurementsSTM)
        increaseAngle()
        print("new target angle: " .. (minAngle + targetAngleIndex * targetAngleStepSize))
        ccTargetSpeed = stmDesiredTestSpeed
@/lua/ge/extensions/flowgraph/states.lua
function C:clear()
  --print("Clearing states and killing ext proxies")
  --print(debug.tracesimple())
  --print("Clearing states and killing ext proxies")
  --print(debug.tracesimple())
  if self.resolveExtProxy then
    if node.nodeType ~= 'debug/comment' then
    --print(node.nodeType)
      -- gather additional data per node.
        if currentTargetNode.isConnector then
          --print("case 1")
          -- case 1: the current link points to a connector node. proceed further down the line and save the path.
          -- case 2: the current link is pointing to a non-connector (eg state) node. add to targets with path.
          --print("case 2")
          stopProjectWhenReached = currentTargetNode.stopProjectWhenReached and currentTargetNode.node.id or nil
@/lua/ge/extensions/editor/missionEditor.lua
  if im.BeginPopup("NewMission") then
    --print("ok?")
    local scale = editor.getPreference("ui.general.scale")
local function removeNonAttributeStarRewards()
  print("Removing non-attribute star rewards...")
  for _, mission in ipairs(missionList) do
    if validXP == "(none)" then
      print(string.format(" > Skipped mission %s: invalid XP via %s", shortId, mission.careerSetup.skill))
    else
            if validXP ~= reward.attributeKey then
              print(string.format("For mission %s: removed %s (only allowed XP is %s via %s)", shortId, reward.attributeKey, validXP, mission.careerSetup.skill))
              mission._dirty = true
                else
                  print(string.format("For mission %s: removed %s (duplicate)", shortId, reward.attributeKey))
                  mission._dirty = true
              else
                print(string.format("For mission %s: removed %s", shortId, reward.attributeKey))
                mission._dirty = true
        if not hasAddedValidXP and invalidXP then
          print(string.format(" ! For mission %s: Fixing To %s (from %s)", shortId, validXP, invalidXP.attributeKey))
          invalidXP.attributeKey = validXP
      dump(x)
      --print(idx, x)
      local val = tonumber(x) or x
    end
    print(mission.id .. " -> " ..importantCount)
  end
M.onConsoleLog = function(timer, lvl, origin, line)
  print(timer)
end
@/lua/ge/extensions/flowgraph/nodes/util/template.lua
function C:init(mgr)
  print("This node was initalized!")
  self.myField = "My Field"
function C:_executionStarted()
  print("Started Execution.")
end
function C:work()
  print("Doing my work...")
end
function C:_executionStopped()
  print("Stopped Execution.")
end
  --self:_executionStopped() -- default call
  print("cleared.")
end
function C:showProperties()
  print("Showing Properties" )
end
function C:hideProperties()
  print("Hiding Properties")
end
function C:_onSerialize(res)
  print("Serializing Template Node.")
  res.myField = self.myField
function C:_onDeserialized(data)
  print("deserializing Template Node.")
  self.myField = data.myField
function C:destroy()
  print("This node was destroyed!")
end
@/lua/ge/extensions/flowgraph/link.lua
      log("E","","Duplicate ID error! Link")
      print(debug.tracesimple())
    end
      log("E","","Duplicate ID error! Link")
      print(debug.tracesimple())
    end
  -- DEBUG print:
  --print('new link from node ' .. self.sourceNode.graph.id .. '.' .. self.sourceNode.id .. '.' .. self.sourcePin.id ..' > ' .. self.targetNode.graph.id .. '.' .. self.targetNode.id .. '.' .. self.targetPin.id )
  if targetPin.type == 'flow' then
  else
    print("? no imPos!")
    dumpz(sPin, 2)
@/lua/common/extensions/ui/imguiUtils.lua
    --  local f = ffi.cast("ImFont*", imgui.GetIO().Fonts.Fonts.Data) -- Data is an ImVector, so do some pointer math
    --  print('font 1: ' .. tostring(f))
    --  f = f + ffi.sizeof('ImFont') -- second font
    --  f = f + ffi.sizeof('ImFont') -- second font
    --  print('font 2: ' .. tostring(f))
    --  M._monospaceFontReference = f
@/gameplay/missionTypes/scatterPickup/customNodes/scatterPrefabSetupNode.lua
  -- Generate the list
  --print(n)
  for _, option in ipairs(options) do
    local amount = math.ceil((option.frequency / totalFrequency) * (n))
    print(string.format("%s : %d / %d", option.mesh, amount, n))
    for _ = 1, amount do
  end
  print("Total amount of trash items: " .. #self.mgr.scatterPickup.states)
  self.pinOut.count.value = #self.mgr.scatterPickup.states
@/lua/vehicle/powertrain/linearActuator.lua
  device.inputAV = device.velocity * device.invLeadRadian * device.gearRatio
  --print(device.inputAV)
  device.parent[device.parentOutputAVName] = device.inputAV
  local leadMeterPerRadian = leadMeterPerRevolution / twoPi
  --print(leadMeterPerRevolution)
  --print(leadMeterPerRadian)
  --print(leadMeterPerRevolution)
  --print(leadMeterPerRadian)
  --device.leadRadian = leadMeterPerRevolution / (math.pi / 180) --convert from one revolution (aka degree) to radian
@/lua/ge/extensions/gameplay/rallyLoop.lua
-- create:
-- local veh = be:getPlayerVehicle(0); if veh then local pos = veh:getPosition(); local rot = veh:getRotation(); print(string.format("be:getPlayerVehicle(0):setPositionRotation(%f, %f, %f, %f, %f, %f, %f)", pos.x, pos.y, pos.z, rot.x, rot.y, rot.z, rot.w)) end
@/lua/vehicle/electrics.lua
local function setIgnitionLevel(ignitionLevel)
  --print("Ignition Level: " .. ignitionLevel)
  previousIgnitionLevel = M.values.ignitionLevel
@/lua/ge/extensions/career/modules/delivery/general.lua
        }
        --print(string.format("including: %s-%s (%s). visible: %s, target: %s",
        --  fac.id, ps.id,
@/lua/ge/extensions/scenario/waypointAction.lua
      local vehWpData = scenario_waypoints.getVehicleWaypointData(instance.vId)
      --print(vehWpData.cur)
      for i = 1, #instance.value.wayPointNum do
@/lua/ge/extensions/flowgraph/modules/aiRecordingModule.lua

    print("stopping the ai recording")
    if vehicleStates[veh:getId()] == 'recording' then
    if self.mgr.activity and self.mgr.activity.startingOptions and self.mgr.activity.startingOptions.aiPath then
      print("stopping the ai replay")
      veh:queueLuaCommand('ai:scriptStop(false, false)')
  local fn = string.format("recording_%s.missionTestData.json", os.date("%Y-%m-%d %H_%M_%S"))
  print("Saving script AI recording to "..dir..fn)
  local veh = getObjectByID(vehId)
  if enabled then
    print("Starting the ai recording")
    local veh = getPlayerVehicle(0)
    if self.mgr.activity and self.mgr.activity.startingOptions and self.mgr.activity.startingOptions.aiPath then
      print("Starting the ai replay")
      local veh = getPlayerVehicle(0)
@/lua/ge/extensions/gameplay/drag/utils.lua
        phase.started = true
        print(string.format("Racer: %d started phase: RACE", racer.vehId, phase.name))
        extensions.hook("dragRaceStarted", racer.vehId)
@/lua/common/libs/luamqtt/mqtt/client.lua
function client_mt:start_connecting()
	-- print("start connecting") -- debug
	-- open network connection
	local ok, packet, err = recv(self)
	-- print("received packet", ok, packet, err)
			-- else
			-- 	print("unhandled packet:", packet) -- debug
			end
@/lua/ge/extensions/editor/headlessEditorTest.lua
    if imgui.Button("Test") then
      print("This is a test for headless editor")
    end
    if editor.uiIconImageButton(editor.icons.insert_drive_file, nil, nil, nil, nil) then
      print("toolbar btn1")
    end
    if editor.uiIconImageButton(editor.icons.insert_drive_file, nil, nil, nil, nil) then
      print("toolbar btn2")
    end
    if editor.uiIconImageButton(editor.icons.save, nil, nil, nil, nil) then
      print("toolbar btn3")
    end
local function onEditorHeadlessChange(enabled, toolName)
  --print(enabled, toolName)
end
@/lua/ge/extensions/flowgraph/baseStateNode.lua
  for k, v in pairs(C) do
    --print('k = ' .. tostring(k) .. ' = '.. tostring(v) )
    o[k] = v
  for k, v in pairs(derivedClass) do
    --print('k = ' .. tostring(k) .. ' = '.. tostring(v) )
    o[k] = v
@/lua/vehicle/powertrain/supercharger.lua
  -- Audio Debug
  -- print(string.format(" SUPRCH VOLRTPC (blowerPressure %7.0f / volumePressure %.2f / volumeRPM %.2f) RTPC = %.2f", blowerPressure, volumePressure, volumeRPM, volume))
  -- print(string.format(" SUPRCH PITRTPC (blowerRPM %7.0f / blowerAV %5.0f / volumeRPM %.2f) RTPC = %.2f", blowerRPM, blowerAV, volumeRPM, pitch))
  -- print(string.format(" SUPRCH VOLRTPC (blowerPressure %7.0f / volumePressure %.2f / volumeRPM %.2f) RTPC = %.2f", blowerPressure, volumePressure, volumeRPM, volume))
  -- print(string.format(" SUPRCH PITRTPC (blowerRPM %7.0f / blowerAV %5.0f / volumeRPM %.2f) RTPC = %.2f", blowerRPM, blowerAV, volumeRPM, pitch))
  -- print(string.format(" SUPRCH volume = %.2f * pitch = %.2f", volume, pitch))
  -- print(string.format(" SUPRCH PITRTPC (blowerRPM %7.0f / blowerAV %5.0f / volumeRPM %.2f) RTPC = %.2f", blowerRPM, blowerAV, volumeRPM, pitch))
  -- print(string.format(" SUPRCH volume = %.2f * pitch = %.2f", volume, pitch))
  -- streams.drawGraph('SPCHGR blowerRPM', {value = blowerRPM, max = 1})
  -- Audio Debug
  -- print (string.format("SPCHGR Whine", jbeamData.whineLoopEvent).." "..jbeamData.whineLoopEvent)
  -- print (string.format("whineVolumePerPSI = %.3f : whinePitchPer10kRPM = %.3f", jbeamData.whineVolumePerPSI, jbeamData.whinePitchPer10kRPM))
  -- print (string.format("SPCHGR Whine", jbeamData.whineLoopEvent).." "..jbeamData.whineLoopEvent)
  -- print (string.format("whineVolumePerPSI = %.3f : whinePitchPer10kRPM = %.3f", jbeamData.whineVolumePerPSI, jbeamData.whinePitchPer10kRPM))
end
    local pressure = max(pressureCoef * pressurePSIPerRPM * i, 0)
    -- print(pressure)
    maxPressure = max(maxPressure, pressure)
@/lua/ge/extensions/editor/gen/utils.lua
local a = {2,4,6,8}
print('??^^^^^^^^^^^ TST1:'..#a)
a[3] = nil
a[3] = nil
print('??^^^^^^^^^^^ TST2:'..#a..':'..tableSize(a))
a[#a+1] = 9
a[#a+1] = 9
print('??^^^^^^^^^^^ TST3:'..#a..':'..tableSize(a)..':'..tostring(a[3])..':'..tostring(a[#a]))
]]
		if indrag and not yes then return end
		print(ms)
		if U.out.f then
}
--	print('??++++++++++++++++++++++++++++++++++++++++++++++++ UTILS_PREPROD:'..tostring(FS:fileExists('/lua/ge/extensions/editor/gen/inprod')))
	if indrag and not yes then return end
	print(ms)
	if U.out.f then
local function dump(t, msg, lvl, lvlma)
--		print('>> dump:'..tostring(lvlma))
  	if false and U._PRD ~= 0 then return end
@/lua/ge/extensions/campaign/dealer.lua
        local itemTable = state.stock[itemType]
        print('dealer looping...')
        for index,entry in ipairs(itemTable) do
        for index,entry in ipairs(itemTable) do
          print(entry.model, entry.config)
          if entry.model == valueObj.model and entry.config == valueObj.config then
        end
        print('end looping...')
      else
@/lua/ge/extensions/flowgraph/nodes/math/smoothers/spring.lua
    self.oldSet = self.pinIn.set.value
    --print(self.oldSet)
    self.smoother:set(self.oldSet)
@/lua/common/libs/lua-websockets/websocket/client_ev.lua
    else
      print('Error',err)
    end
@/lua/ge/extensions/career/modules/delivery/generator.lua
    for name, ap in pairs(accessPointsByName) do
      print(name .. " -> " .. dumps(ap[typeLookupKey]))
    end
    end
    print(debug.tracesimple())
  end
  else
    print("no location!")
    dump(loc)
--[[
  print(generator.name)
  for _, item in ipairs(generator.validTemplates) do
  for _, item in ipairs(generator.validTemplates) do
--    print(string.format(" - %02d%% %s",100 * item.chance / generator.sumChance, item.item.id))
    for amount, amountChance in ipairs(item.item.duplicationChance) do
    for amount, amountChance in ipairs(item.item.duplicationChance) do
      print(string.format(" - %02d%% Group of %d %s (%s slots)",100 * item.chance / generator.sumChance * amountChance / item.item.duplicationChanceSum, amount, item.item.id, table.concat(item.item.slots, ", ")))
    end
    for _, fac in ipairs(freeroam_facilities.getFacilitiesByType("deliveryProvider")) do
      --print("Loading " .. fac.id)
      --if fac.associatedOrganization then
      --if fac.associatedOrganization then
      --print("     -> " .. fac.associatedOrganization)
      --end
      end
      --print(fac.name .. " -> " .. dumpsz(fac.progress.interacted))
      end
      --print(string.format("Facility: %s provides systems: %s", fac.name, table.concat(tableKeys(fac.providedSystemsLookup),", " )))
      --print(string.format("Facility: %s receives systems: %s", fac.name, table.concat(tableKeys(fac.receivedSystemsLookup),", " )))
      --print(string.format("Facility: %s provides systems: %s", fac.name, table.concat(tableKeys(fac.providedSystemsLookup),", " )))
      --print(string.format("Facility: %s receives systems: %s", fac.name, table.concat(tableKeys(fac.receivedSystemsLookup),", " )))
    end
    for _, key in ipairs(tableKeysSorted(allTypes)) do
      --print(string.format("%s -> %s", key, dumps(logisticTypeToSystem(key))))
    end
    for _, key in ipairs(tableKeysSorted(materialRatesProvided)) do
      print(key)
      print(string.format("Total IN: %0.2f/min", materialRatesProvided[key].total*60))
      print(key)
      print(string.format("Total IN: %0.2f/min", materialRatesProvided[key].total*60))
      for _, facId in ipairs(tableKeysSorted(materialRatesProvided[key])) do
        if facId ~= "total" then
          print(string.format(" - IN : %0.2f/min (%s)", materialRatesProvided[key][facId]*60, facId))
          print(string.format(" - real capacity: %d (%d min)",facilitiesById[facId].materialStorages[key].target, facilitiesById[facId].materialStorages[key].target / (materialRatesProvided[key][facId]*60)))
          print(string.format(" - IN : %0.2f/min (%s)", materialRatesProvided[key][facId]*60, facId))
          print(string.format(" - real capacity: %d (%d min)",facilitiesById[facId].materialStorages[key].target, facilitiesById[facId].materialStorages[key].target / (materialRatesProvided[key][facId]*60)))
        end
      end
      print(string.format("Total OUT: %0.2f/min", materialRatesReceived[key].total*60))
      for _, facId in ipairs(tableKeysSorted(materialRatesReceived[key])) do
        if facId ~= "total" then
          print(string.format(" - OUT: %0.2f/min (%s)", materialRatesReceived[key][facId]*60, facId))
          print(string.format(" - real capacity: %d (%d min)",facilitiesById[facId].materialStorages[key].capacity - facilitiesById[facId].materialStorages[key].target, (facilitiesById[facId].materialStorages[key].capacity - facilitiesById[facId].materialStorages[key].target) / (materialRatesReceived[key][facId]*60)))
          print(string.format(" - OUT: %0.2f/min (%s)", materialRatesReceived[key][facId]*60, facId))
          print(string.format(" - real capacity: %d (%d min)",facilitiesById[facId].materialStorages[key].capacity - facilitiesById[facId].materialStorages[key].target, (facilitiesById[facId].materialStorages[key].capacity - facilitiesById[facId].materialStorages[key].target) / (materialRatesReceived[key][facId]*60)))
        end
      end
      print(" - - -")
    end
      org = org or {name = "No Organization"}
      print(" - " .. org.name .. " ("..orgId..")")
      for _, facId in ipairs(orgToFacs[orgId]) do
      for _, facId in ipairs(orgToFacs[orgId]) do
        print("  - " .. facilitiesById[facId].name .. " ("..facId..")")
      end
@/lua/vehicle/powertrain/manualGearbox.lua

  -- print(string.format("volIn - %0.2f / volOut - %0.2f / ptchIn - %0.2f / ptchOut - %0.2f / inLoad - %0.2f / outLoad - %0.2f", volumeInput, volumeOutput, pitchInput, pitchOutput, inputLoad, outputLoad))
end
    local absAVDifference = abs(avDifference)
    --print(string.format("AV difference: %.2f", avDifference))
    local synchroWearCoef = linearScale(device.synchroWear[newDesiredIndex], 0.1, 1, 1, 0.4)
      --shift succeeded without using the clutch
      --print(string.format("AV difference is minimal, shift succeeded without clutch usage. Allowed AV difference: %.2f", device.shiftAllowedNonClutchAVDifference[newDesiredIndex]))
    else
      if absAVDifference > device.shiftMaxSynchroAVCapability[newDesiredIndex] * synchroWearCoef then
        --print(string.format("AV difference too high to sync. Max: %.2f, actual: %.2f", device.shiftMaxSynchroAVCapability[newDesiredIndex], avDifference))
        isSuccessfulShift = false
        if not clutchPressedEnough then
          --print(string.format("Not enough clutch input. Required: %.2f, actual: ", device.shiftRequiredClutchInput[newDesiredIndex], (1 - device.parent.clutchRatio)))
          isSuccessfulShift = false
          if availableSyncTime * maxSyncSpeed < absAVDifference then
            --print(string.format("Available sync time too small. Required: %.4fs, actual: %.4fs", absAVDifference / maxSyncSpeed, availableSyncTime))
            --print(string.format("Hypothetical sync rate required for this shift: %.2f rad/s", (absAVDifference / availableSyncTime)))
            --print(string.format("Available sync time too small. Required: %.4fs, actual: %.4fs", absAVDifference / maxSyncSpeed, availableSyncTime))
            --print(string.format("Hypothetical sync rate required for this shift: %.2f rad/s", (absAVDifference / availableSyncTime)))
            isSuccessfulShift = false
          else
            --print(string.format("Good shift, perfection: %.1f%%", (absAVDifference / maxSyncSpeed) / availableSyncTime * 100))
          end

  --print("experimental gearbox device")
@/lua/vehicle/ai.lua
    if not name then break end
    print(string.format("Upvalue %d: %s = %s", i, name, tostring(value)))
    i = i + 1
  if not dataLogger.csvFile then
    print('Started Logging Data')
    dataLogger.csvFile = require('csvlib').newCSV("time", "posX", "posY", "posZ", "speed", "targetSpeed", "ax", "ay", "az", "vx", "vy", "vz", "throttle", "brake", "steering", "staticFrictionCoef")
  if dataLogger.csvFile then
    print('Writing Data to CSV.')
    dataLogger.csvFile:write(name)
    dataLogger.time = nil
    print('Done')
  else
  else
    print('No data to write')
  end
  if dataLogger.logData == nop then
    print('Initialized Data Log')
    dataLogger.logData = logDataTocsv
  else
    print('Stopped Logging Data')
    dataLogger.logData = nop
    plan[i].rangeBestLane = clamp((n.laneLimLeft - ((2 * n.rangeLeft - 1) * roadHalfWidth)) / laneWidth, 0, n.rangeLaneCount-1)
    --print(plan[i].rangeBestLane)
  end
        route.laneChanges[1].commit = true
        --print('lane change is going to happen')
        --obj.debugDrawProxy:drawSphere(2, ego.pos, color(255,0,255,255))
        end
        -- print(list[i])
      end
@/lua/ge/extensions/flowgraph/nodes/vehicle/spawnVehicle.lua
        --self.spawnedObjectId = self.veh:getId()
        --print("node id " .. self.id .. " gained vehicle id: " .. self.spawnedObjectId)
        self.state =  3
    end
    --print("final state: " .. self.id .. " is " .. dumps(self.state))
  end
@/lua/common/luaBinding.lua
function testBindings()
  print(' *** Unittest start ***')
  local a = TestNamespace.TestClassA()

  print(' *** DONE ***')
end
@/lua/ge/extensions/freeroam/specialTriggers.lua
  local data = triggers[tName]
  if active == nil then active = not data.active print(tostring(active)) end
  data.triggerName = tName
@/lua/ge/extensions/editor/api/dynamicDecals/textures.lua
local function dumpTags()
  -- print("tags")
  -- dump(tags)
  -- dump(tags)
  -- print("tagsWithRefs")
  -- dump(tagsWithRefs)
  -- for k, v in pairs(tagsWithRefs) do
  --   print(string.format("%s : %d", k, #v))
  -- end
@/lua/common/libs/resty/template/microbenchmark.lua

    print(format("Running %d iterations in each test", iterations))
    local z = clock() - x
    print(format("    Parsing Time: %.6f", z))
    total = total + z
    z = clock() - x
    print(format("Compilation Time: %.6f (template)", z))
    total = total + z
    z = clock() - x
    print(format("Compilation Time: %.6f (template, cached)", z))
    total = total + z
    z = clock() - x
    print(format("  Execution Time: %.6f (same template)", z))
    total = total + z
    z = clock() - x
    print(format("  Execution Time: %.6f (same template, cached)", z))
    total = total + z
    z = clock() - x
    print(format("  Execution Time: %.6f (different template)", z))
    total = total + z
    z = clock() - x
    print(format("  Execution Time: %.6f (different template, cached)", z))
    total = total + z
    z = clock() - x
    print(format("  Execution Time: %.6f (different template, different context)", z))
    total = total + z
    z = clock() - x
    print(format("  Execution Time: %.6f (different template, different context, cached)", z))
    total = total + z
    total = total + z
    print(format("      Total Time: %.6f", total))
end
@/lua/ge/extensions/core/input/bindings.lua
  log("E", "", "bindings.menuActive has been deprecated in favour of the 'menuActionMapEnabled' boolean flag on javascript side (see main.js for examples). The default behaviour is probably working correctly already, in which case you can simply delete the call to menuActive. Stacktrace provided below so you can update the relevant code:")
  print(debug.tracesimple())
  M.setMenuActionMapEnabled(enabled)
@/lua/ge/extensions/editor/rallyEditor/pacenotes.lua
    if self:selectedPacenote() and self:selectedPacenote().id == selectedPn.id then
      -- print('if a pacenote is already selected and the clicked waypoint is in that pacenote.')
      self.simpleDragMouseOffset = self.mouseInfo._downPos - hoveredWp.pos
    elseif self:selectedPacenote() and self:selectedWaypoint() and self:selectedPacenote().id ~= selectedPn.id then
      -- print('if the selected waypoint is from a different pacenote than the clicked waypoint')
      -- Block dragging until mouse up - camera will move in orbit mode
    elseif self:selectedPacenote() and self:selectedPacenote().id ~= selectedPn.id then
      -- print('if the selected pacenote is different than clicked waypoint')
      -- Block dragging until mouse up - camera will move in orbit mode
    elseif not self:selectedPacenote() then
      -- print('if no pacenote is selected')
      self:selectPacenote(selectedPn.id)
@/lua/ge/extensions/gameplay/missions/missionTypes/flowMission.lua
    log("E","","called processCommonSettings during mission active! This shouldnt happen.")
    print(debug.tracesimple())
  end
@/lua/vehicle/input.lua
  long = long or string.match(wheelName, "^([FR]+)")
  --print(string.format("/  Splitting '%10s' into long: '%5s', side: '%5s' .", wheelName, long, side))
  long = long and long:sub(1, 1) or long
  side = side and side:sub(1, 1) or side
  --print(string.format("\\_ Splitting '%10s' into long: '%5s', side: '%5s' .", wheelName, long, side))
  return long, side
    if debug then
      print(string.format("----- '%s' = %s, %s", wd1.name, long1, side1))
    end
            if debug then
              print(string.format("    * '%s' = %s, %s", wd2.name, long2, side2))
            end
            if debug then
              print(string.format("    - '%s' = %s, %s", wd2.name, long2, side2))
            end
      end
      print(string.format("front wheel '%s' has these rear wheels: %s", namef, dumps(namesr)))
    end
@/lua/ge/extensions/flowgraph/nodes/vehicle/keep.lua
  if self.pinIn.vehId.value then
    --print("keeping " .. self.pinIn.vehId.value, self.pinIn.keep.value)
    self.mgr.modules.vehicle:setKeepVehicle(self.pinIn.vehId.value, self.pinIn.keep.value)
@/lua/ge/extensions/editor/forestEditor.lua
M.dumpForestBrushes = function()
  print("###### Forest Brushes #####")
  dump(var.forestBrushes)
  dump(var.forestBrushes)
  print("###### Forest Brushes End #####")
end
M.dumpForestBrushesMap = function()
  print("###### Forest Brushes Map #####")
  dump(var.forestBrushesMap)
  dump(var.forestBrushesMap)
  print("###### Forest Brushes Map End #####")
end
M.dumpBrushProperties = function()
  print("##### Brush Properties #####")
  print("Size: " .. tostring(var.forestBrushTool:getSize()))
  print("##### Brush Properties #####")
  print("Size: " .. tostring(var.forestBrushTool:getSize()))
  print("Pressure: " .. tostring(var.forestBrushTool:getPressure()))
  print("Size: " .. tostring(var.forestBrushTool:getSize()))
  print("Pressure: " .. tostring(var.forestBrushTool:getPressure()))
  print("Hardness: " .. tostring(var.forestBrushTool:getHardness()))
  print("Pressure: " .. tostring(var.forestBrushTool:getPressure()))
  print("Hardness: " .. tostring(var.forestBrushTool:getHardness()))
  print("##### Brush Properties End #####")
  print("Hardness: " .. tostring(var.forestBrushTool:getHardness()))
  print("##### Brush Properties End #####")
end
    if im.SmallButton("Test") then
      print("var.forestBrushGroup:size()")
      print(var.forestBrushGroup:size())
      print("var.forestBrushGroup:size()")
      print(var.forestBrushGroup:size())
    end
    if im.SmallButton("Forest Brush Group") then
      print("ForestBrushGroup")
      dump(getmetatable(var.forestBrushGroup))
@/lua/ge/extensions/util/compileMeshes.lua
          cacheFilename = cacheDir .. '/' .. src_hash .. '.cdae'
          --print('cacheFilename = ' .. tostring(cacheFilename) .. ' / ' .. tostring(FS:fileExists(cacheFilename)))
          if FS:fileExists(cacheFilename) then
          if FS:fileExists(cacheFilename) then
            --print(' cache file found, using it: ' .. cacheFilename)
            table.insert(hardLinkFilesTodo, {src_hash .. '.cdae', dst})
@/lua/vehicle/extensions/debug/advancedExternalDebug.lua
    if not result then
      print("Error sending debug data: " .. error)
    end
@/lua/vehicle/htmlTexture.lua
local function callJS(self, jsMethod, data)
  --print('call(' .. tostring(self.webViewTag) .. ',' .. tostring(jsMethod) .. ',' .. dumps(data) .. ')')
  obj:queueWebViewJS(self.webViewTag, string.format("%s(%s)", jsMethod, jsonEncode(data)))
local function streamJS(self, streamName, jsMethod, data)
  --print('call(' .. tostring(self.webViewTag) .. ',' .. tostring(jsMethod) .. ',' .. dumps(data) .. ')')
  obj:queueWebViewStreamJS(self.webViewTag, streamName, string.format("%s(%s)", jsMethod, jsonEncode(data)))
local function call(webViewTag, jsMethod, data)
  --print('call(' .. tostring(webViewTag) .. ',' .. tostring(jsMethod) .. ',' .. dumps(data) .. ')')
  local jsCmd = string.format("%s(%s)", jsMethod, jsonEncode(data))
local function create(webViewTag, uri, width, height, fps, usagemode)
  --print('create(' .. tostring(webViewTag) .. ',' .. tostring(uri) .. ',' .. tostring(width) .. ',' .. tostring(height) .. ',' .. tostring(fps) .. ',' .. tostring(usagemode) .. ')')
  local usageModeID = 0
@/lua/ge/extensions/gameplay/drag/times.lua
        if addFrameHistoryDebug[timerName] and not timer.isSet and timer.type == "distanceTimer" then
          --print(string.format("Tracking times for racer: %d for timer: %s", racer.vehId, timerName))
          timer.frameHistory[#timer.frameHistory+1] = string.format("Racer: %d Frame %d: %0.5fs after start. Distance: %0.4fm (before: %0.4fm). Frame duration: %0.5fs", racer.vehId, #timer.frameHistory+1, timerValue, distanceFromOrigin, prevDistance, dtSim)
@/lua/vehicle/controller/drivingDynamics/actuators/activeDiffBias.lua
    local dotLeft = vectorRight:dot(wheelVector) --calculate dot product of said vector and left vector
    --print(string.format("Side: %d, Name: %q, Front/Back: %.2f, LeftRight: %.2f", wheelSideIndex, relevantWheels[wheelSideIndex].wheels[1].name, dotForward, dotLeft))
@/lua/ge/extensions/freeroam/freeroamConfigurator.lua
M.onSpawnPointTileClick = function()
  print("onSpawnPointTileClick")
  ui_freeroamSelector_general.openFreeroamSelectorForFreeroamConfigurator(function(levelName, spawnPointName)
M.onVehicleTileClick = function()
  print("onVehicleTileClick")
  ui_vehicleSelector_general.openVehicleSelectorForFreeroamConfigurator(function(model, config, additionalData)
@/lua/vehicle/extensions/core/booster.lua
  if #planets > 0 then
    print("obj:setPlanets(" .. dumps(planets) .. ")")
  end
@/lua/ge/extensions/ui/extApp.lua
  server, chosenAddress = wsUtils.createOrGetWS('any', port, './', protocolName, '/ui/entrypoints/main/index.html')
  print('ext app webserver running at: http://' .. chosenAddress .. ':' .. tostring(port) .. ' (listening on all addresses)')
  updateUIData()
@/lua/ge/extensions/gameplay/discover/discover_037.lua
                step.complete = false
                --print(core_vehicleBridge.getCachedVehicleData(limoId, "ignitionLevel"))
                if core_vehicleBridge.getCachedVehicleData(limoId, "ignitionLevel") == 2 then
@/lua/ge/extensions/freeroam/bigMapMarkers.lua
  local clusterSettingsIdsSorted = tableKeysSorted(clusterSettingsById)
  --print("Begin Update")
  for _, csId in ipairs(clusterSettingsIdsSorted) do
  for _, csId in ipairs(clusterSettingsIdsSorted) do
    --print(csId)
    local isActiveSettings = csId == currentClusterSettingsId
        end
        --print("updating: " .. marker.id .. " ("..marker.cluster.id..")")
        marker:update(updateData)
local function clearMarkers()
  print("Clearing markers")
  for _, marker in pairs(markersByClusterId) do
      table.insert(filteredPois, poi)
      --print("ok " .. poi.id)
    else
    else
     --print("No ok " .. poi.id)
    end
@/lua/ge/extensions/editor/dynamicDecals/layerStack.lua
          if editor.getPreference("dynamicDecalsTool.general.debug") then
            print(string.format("layerElementDragDropTargetDebug before\nfrom: %d\nfromParentUid: %s\nto: %d\ntoParentUid: %s", from or -1, fromParentUid or "nil", to or -1, toParentUid or "nil"))
          end
          if editor.getPreference("dynamicDecalsTool.general.debug") then
            print(string.format("layerElementDragDropTargetDebug after\nfrom: %d\nfromParentUid: %s\nto: %d\ntoParentUid: %s", from or -1, fromParentUid or "nil", to or -1, toParentUid or "nil"))
          end
        if editor.getPreference("dynamicDecalsTool.general.debug") then
          print(string.format("drag drop: %s, from: %d, fromParentUid: %s, to: %d, toParentUid: %s", name, from or -1, fromParentUid or "nil", to or -1, toParentUid or "nil"))
        end
            if editor.getPreference("dynamicDecalsTool.general.debug") then
              print(string.format("drag drop: before 1, from: %d, fromParentUid: %s, to: %d, toParentUid: %s", from or -1, fromParentUid or "nil", to or -1, toParentUid or "nil"))
            end
            if editor.getPreference("dynamicDecalsTool.general.debug") then
              print(string.format("drag drop: before 2, from: %d, fromParentUid: %s, to: %d, toParentUid: %s", from or -1, fromParentUid or "nil", to or -1, toParentUid or "nil"))
            end
          if editor.getPreference("dynamicDecalsTool.general.debug") then
            print(string.format("drag drop: after_last, from: %d, fromParentUid: %s, to: %d, toParentUid: %s", from or -1, fromParentUid or "nil", to or -1, toParentUid or "nil"))
          end
@/lua/vehicle/extensions/tech/CANBus/ProjectBavariaKombi.lua
    if crc == expectedCRC then
      print(string.format("Found matching CRC XOR Value : %s", canBus.dumpsByteHex(i)))
    end
  --bruteForceCRCXorValue(0x4E, {0xF8, 0x13, 0x06, 0xF2})
  -- print(canBus.dumpsByteHex(crc))
@/lua/vehicle/material.lua
        sounds.playSoundOnceFollowNode(dm.deformSound, beam.id1, (dm.deformVolume or 1) * 0.5)
        --print ((dm.deformVolume or 1) * 0.5)
        beamstate.addDamage(500)
@/lua/ge/extensions/flowgraph/nodes/vehicle/special/wheelDistance.lua
    end
    print(tostring(distanceFromStart))
  end
  if not veh or not self.pinIn.position.value then print("ERROR1") return end
@/lua/ge/extensions/flowgraph/nodes/gameplay/timers/simpleTimer.lua
function C:onNodeReset()
print("setting timer back. id" .. dumps(self.pinOut.timerId.value))
  if self.pinOut.timerId.value then
    self.mgr.modules.timer:setElapsedTime(self.pinOut.timerId.value, 0)
    print("setting timer back." .. self.mgr.modules.timer:getElapsedTime(self.pinOut.timerId.value))
  end
@/lua/ge/extensions/gameplay/sites/sites.lua
    --log("W","","Finalized too often: "..self._finalized)
    --print(debug.tracesimple())
  end
@/lua/ge/extensions/editor/gen/world.lua
--print('==^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ WORLD:')
	end
		print('<< building4test:'..num)
end
		_dbdrag = false
--		print('?? mup:')
--    out.inhole = false
		if not indrag then
--				print('??___________ RCON:'..tostring(rayCast.object.name))
--			out.over = rayCast.object.name and string.find(rayCast.object.name, 'o_wall') or false
--			out.over = rayCast.object.name and string.find(rayCast.object.name, 'o_wall') or false
--				print('?? is_OVER:'..tostring(out.over)..':'..rayCast.object.name)
			local desc = adesc[cedit.mesh]
		if i%50 == 0 then
--			print('?? saved:'..i)
		end
	elseif key == 'gen_unique' then
--			print('?? BRAD:'..tostring(W.ui.build_radius))
--			if true then return end
					if i%50 == 0 then
--						print('?? loaded:'..i)
					end
@/lua/console/bananabench-csv.lua

  print('*** CSV START')

  print(header)
                                 'DynamicCollision')
      print(line)
      local line = string.format(row,
                                 'NoDynamicCollision')
      print(line)
    end

  print('*** CSV END')
end
@/lua/common/kdtreebox2d.lua
function kdTree:analytics()
  print('Tree Depth = '..ceil(log10(#self.tree / 4 + 1) / log10(2)))
  print('Number of tree Nodes = '..#self.tree / 4)
  print('Tree Depth = '..ceil(log10(#self.tree / 4 + 1) / log10(2)))
  print('Number of tree Nodes = '..#self.tree / 4)
  print('Number of leaf nodes (nodes containing items) = '..(#self.tree - self.nonLeafLimIdx) / 4)
  print('Number of tree Nodes = '..#self.tree / 4)
  print('Number of leaf nodes (nodes containing items) = '..(#self.tree - self.nonLeafLimIdx) / 4)
  print('Number of items in tree = '..self.itemCount)
  print('Number of leaf nodes (nodes containing items) = '..(#self.tree - self.nonLeafLimIdx) / 4)
  print('Number of items in tree = '..self.itemCount)
  print('Average number of items in leaf nodes = '..self.itemCount / ((#self.tree - self.nonLeafLimIdx) / 4))
  print('Number of items in tree = '..self.itemCount)
  print('Average number of items in leaf nodes = '..self.itemCount / ((#self.tree - self.nonLeafLimIdx) / 4))
end
@/lua/ge/extensions/gameplay/rally/vehicleTracker.lua
  -- local vehObjId = getPlayerVehicleID(0) -> 50001
  -- print( getObjectByID(getPlayerVehicleID(0)):getId() ) -> 50001
  -- return getObjectByID(self:getVehicleId())
@/lua/vehicle/beamstate.lua
      local tooManyBreakGroupsBroken = breakGroupCount > 0 and (brokenBreakGroupCount > 1 or (brokenBreakGroupCount == breakGroupCount))
      --print(string.format("%q: Breakgroups: %s, broken beams: %s/%s, deformed beams: %s/%s", partId, brokenBreakGroupCount, brokenBeamCount, #damageableBeams, deformedBeamCount, #damageableBeams))
local function couplerFound(nodeId, obj2id, obj2nodeId)
  --print(string.format("coupler found %s.%s->%s.%s", obj:getId(), nodeId, obj2id, obj2nodeId))
end
    local data = {electrics = n.importElectrics, inputs = n.importInputs}
    --print("couplerAttached -> beamstate.exportCouplerData("..tostring(obj2nodeId)..", "..serialize(data)..")")
    -- obj:queueObjectLuaCommand(obj2id, "beamstate.exportCouplerData(" .. tostring(obj2nodeId) .. ", " .. serialize(data) .. ")")

  --print(string.format("coupler attached %s.%s->%s.%s", obj:getId(),nodeId,obj2id, obj2nodeId))
  if objectId < obj2id then
local function onCouplerDetached(nodeId, obj2id, obj2nodeId)
  --print(string.format("coupler detached %s.%s->%s.%s", obj:getId(),nodeId,obj2id, obj2nodeId))
  attachedCouplers[nodeId] = nil
local function exportCouplerData(nodeid, dataList)
  --print(obj:getId() .. "<-exportCouplerData(" .. nodeid .. "," .. dumps(dataList) .. ")")
  transmitCouplers[nodeid] = attachedCouplers[nodeid] or {}
local function importCouplerData(nodeId, data)
  --print(obj:getId() .. "<-importCouplerData(" .. nodeId .. "," .. dumps(data) .. ")")
  else
    --print ("beam "..id.." just broke")
  end
      -- deformation: do not call c++ at all, its just used on the lua side anyways
      --print('deformed: ' .. tostring(cid) .. ' = ' .. tostring(beam[3]))
      onBeamDeformed(cid, beam[3])
@/lua/ge/extensions/gameplay/rally/transcripts/entry.lua
    -- local h, s, l = rgbToHsl(base_clr[1], base_clr[2], base_clr[3])
    -- print("HSL:", h, s, l)
    -- for i, color in ipairs(gradientColors) do
      -- print("Step " .. i .. ": RGB(" .. color.r .. ", " .. color.g .. ", " .. color.b .. ")")
    -- end
@/lua/ge/extensions/flowgraph/nodes/gameplay/rally/trackRecovery.lua

  -- print('flip: '     .. tostring(self.pinIn.flip.value))
  -- print('recovery: ' .. tostring(self.pinIn.recovery.value))
  -- print('flip: '     .. tostring(self.pinIn.flip.value))
  -- print('recovery: ' .. tostring(self.pinIn.recovery.value))
  -- print('restart: '  .. tostring(self.pinIn.restart.value))
  -- print('recovery: ' .. tostring(self.pinIn.recovery.value))
  -- print('restart: '  .. tostring(self.pinIn.restart.value))

  -- print('recoveryType: '..tostring(recoveryType))
@/lua/ge/extensions/editor/shapeEditor.lua
    if mat then
      -- print("preview mat"..dumps(matName))
      selectedMaterialName = matName
        if im.Checkbox("sloppy", lodSloppy) then
          print("sloppy modified")
          if lodSloppy[0] then
@/lua/console/bananabench-async.lua

        print(' *** ' .. vehicle .. ' ***')
        test.maxMbeams = 0
        local allTestsSpawnTime = 0
        print(' # | Dynamic Collision ON| Dynamic Collision OFF')
        print('   +----------+----------+----------+----------+')
        print(' # | Dynamic Collision ON| Dynamic Collision OFF')
        print('   +----------+----------+----------+----------+')
        print('   | MBeams/s | % Realt  | MBeams/s | % Realt  |      ')
        print('   +----------+----------+----------+----------+')
        print('   | MBeams/s | % Realt  | MBeams/s | % Realt  |      ')
        print('---+----------+----------+----------+----------+')
        print('   | MBeams/s | % Realt  | MBeams/s | % Realt  |      ')
        print('---+----------+----------+----------+----------+')
        for n = vehicleMin, vehicleMax, 1 do
            table.insert(test.tests, t)
            print(t.msg)
        end

        print("Max Mbeams/s:   " .. string.format("%0.3f", test.maxMbeams) .. " Mbeams/s")
        res.tests[vehicle] = test
    res.time = timeTotalSum
    print("")
    print(" BANANAA!!!")
    print("")
    print(" BANANAA!!!")
    print(" .______,# ")
    print(" BANANAA!!!")
    print(" .______,# ")
    print(" \\ -----'/ ")
    print(" .______,# ")
    print(" \\ -----'/ ")
    print("  `-----' ")
    print(" \\ -----'/ ")
    print("  `-----' ")
    --dump(res)
function benchmark_start()
    print('starting coroutine ...')
    co = coroutine.create(benchPhysics)
@/lua/ge/extensions/flowgraph/nodes/gameplay/race/raceHighscoresComplete.lua

      print("Writing Highscores...")
      local veh
@/lua/ge/extensions/flowgraph/nodes/recording/recordCamera.lua
    if self.pinIn.snap.value then
      print("Starting recording!")
      self:setDurationState('started')
@/lua/ge/extensions/career/career.lua
local function interactWithOrganization(id)
  --print("Interact with: " .. dumps(id))
  organizationInteraction[id] = true
  local ret = {}
  --table.insert(ret, {label = "Test", luaFun = "print('Test!')"})
  if career_modules_delivery_general.isDeliveryModeActive() then
@/lua/ge/extensions/editor/util/editorElementHelper.lua
    log("W","",".prefab should not be used for extension anymore. please upgrade to '.prefab.json'")
    --print(debug.tracesimple())
  end
    log("W","",".prefab should not be used for extension anymore. please upgrade to '.prefab.json'")
    --print(debug.tracesimple())
  end
    field.type = ui_flowgraph_editor.getAutoTypeFromName(field.label)
    --print(string.format("%s (%s) from %s", field.fieldName, field.type, field.elemLabel))
  end
@/lua/ge/extensions/career/modules/linearTutorial.lua
      career_career.setAutosaveEnabled(false)
      print("Disabling autosave because we are in tutorial!")
    end
@/lua/ge/extensions/editor/vehicleEditor/staticEditor/veJBeamModifierLeakVis.lua
    log('E', '', sectionName .. "[" .. currCount .. "] wrong")
    print("Full JBeam Item Data:")
    print(dumps(item))
    print("Full JBeam Item Data:")
    print(dumps(item))
    print("Algorithm's Current Modifiers:")
    print(dumps(item))
    print("Algorithm's Current Modifiers:")
    print(dumps(newSectionModifiers))
    print("Algorithm's Current Modifiers:")
    print(dumps(newSectionModifiers))
    testSectionsWrongCounter[sectionName] = testSectionsWrongCounter[sectionName] + 1
    for k,v in pairs(testSectionsWrongCounter) do
      print(k .. ": " .. v .. " errors")
    end
@/lua/ge/extensions/scenario/busdriver.lua
  local wps = {}
  --print("Building Bus route:")
  --for _, task in ipairs(currentLine.tasklist) do
      table.insert(wps, help)
      print("  " .. help)
    end
              table.insert(wps, help)
              print("  " .. help)
            end
@/lua/ge/extensions/core/gamestate.lua
  --dump(loadingScreenRequests)
  --print(debug.tracesimple())
  log('D', logTag, 'exiting : ' .. tagName)
@/lua/common/utils/pixellib.lua
  pb:init(250, 250)
  print(tostring(pb))
@/lua/ge/extensions/scenario/distanceGoal.lua
      local dis = (vehicle:getPosition() - targetobj:getPosition() ):len()
      --print("inside maxDistance check")
      if instance.value.distanceEnable then

        --print("CheckForCarDistance")
        if instance.status.checkForCarDistance then
          if distance >= 0 and distance <= 5 then
              --print("distance " ..distance)
              instance.status.result = "failed"
@/lua/ge/extensions/core/vehicleTriggers.lua
                    local cmdStr = evt.onChange:gsub("VALUE", tostring(-1))
                    print('-1 - '..cmdStr)
                    queueCmd(vehId, cmdStr)
                    local cmdStr = evt.onChange:gsub("VALUE", tostring(0))
                    print('0 - '..cmdStr)
                    queueCmd(vehId, cmdStr)
                    local cmdStr = evt.onChange:gsub("VALUE", tostring(1))
                    print('1 - '..cmdStr)
                    queueCmd(vehId, cmdStr)
local function onActionEvent(actionNumber, inputValue)
  --print(debug.tracesimple())
  -- dump{'triggers.onActionEvent', actionNumber, inputValue}
    if trigger then
      --print(inputValue)
      triggerEvent('action' .. tostring(actionNumber), inputValue, currentTriggerHit.t, currentTriggerHit.v, vData.vdata)
@/lua/vehicle/motionSim.lua
log("E", "", "Something tried to use the deprecated 'lua/vehicle/motionSim.lua' file. If you are the programmer/modder responsible for that attempt, please check https://go.beamng.com/protocols")
print(debug.tracesimple())
return {}
@/lua/vehicle/controller/vehicleController/shiftLogic/automaticGearbox.lua
    else
      print("unknown auto mode: " .. mode)
    end
@/lua/ge/extensions/editor/gen/decal.lua
    ]]
    --print('?? if_ADD:'..tostring(mathLib))
    local result = mathLib.mul(10, 20)
    local result = mathLib.mul(10, 20)
    print('??_____________ DLL_res:'..tostring(result))
end
--local mathLib = ffi.load("audll")
--print('?? if_LIB:'..tostring(result))
--    if U._PRD ~= 0 then return end
--    print(ms)
--end
        groupDecal = scenetree.findObject('e_road')
--                print('??^^^^^^ decal_E_ROAD_ADDED:')
        groupDecal.canSave = false
    if ({conf=0,ter=0})[U._MODE] then
--                        print('?? pre_UNDO3:')
        D.undo()
    tb = extensions.editor_terrainEditor.getTerrainBlock()
--        print('?? decalsLoad:'..tostring(tb))
    if tb then
D.undo = function(silent)
--        print('?? D.undo:')
--        if true then return end
    elseif key == 'b_conform' then
--            print('?? b_conform:')
        out['white'] = nil
--                    tb:updateGrid()
--                        print('?? tb_UPDTED2:')
                        U.dump(b.djrad, '??______ for_r:'..b.ind..':'..b.jrad)
--                tb:updateGrid()
--                    print('?? tb_UPDTED:')
                be:reloadCollision()
            road2ter(nil) --,nil,true)
--            print('?? tb_UPDTED3:')
        end
table.remove(ta, 1)
print('??*********** tta:'..#ta..':'..ta[2])
]]
    if toundo then
--            print('?? pre_UNDO1:')
        lo('?? UNDO:')
            if U._MODE == 'conf' then
--                    print('?? pre_UNDO2:')
                D.undo()
@/lua/common/utils/interactiveShell.lua
    local n = n or 1
    --print("spawning "..n.." objects ...")
    BeamEngine:deleteAllObjects()
    if BeamEngine:getSlotCount() ~= n then
        print ("error: " .. BeamEngine:getSlotCount() .. " vehicles spawned of " .. n .. " requested")
    end
    local n = n or 10
    --print("updating "..n.." frames.")
    for i=0,n,1
    if type(debug.traceback) ~= "function" then
      print("*** LUA TRACEBACK BROKEN ***")
    end
    if not ok then
      print("Error: "..result)
    else
      if result then
        print(tostring(result))
      end
    if execTimer then
      print("Executed in "..execTimer:stop().." ms")
    end
  else
    print("Error: "..err)
  end
local function start()
    --print("*** Entering BeamNG LUA Shell ***")
    while true
        elseif cmd == "help" then
            print("This is an interactive lua shell. Following shortcuts exists:")
            print("* tracktime - enables command timing")
            print("This is an interactive lua shell. Following shortcuts exists:")
            print("* tracktime - enables command timing")
            print("* luaut  - starts lua unit testing")
            print("* tracktime - enables command timing")
            print("* luaut  - starts lua unit testing")
            print("* unittest   - executes the tests/test.lua script")
            print("* luaut  - starts lua unit testing")
            print("* unittest   - executes the tests/test.lua script")
            print("* reload - forces reloading of the scripts")
            print("* unittest   - executes the tests/test.lua script")
            print("* reload - forces reloading of the scripts")
            print("* sp(, ) - spawns N vehicles")
            print("* reload - forces reloading of the scripts")
            print("* sp(, ) - spawns N vehicles")
            print("* ul() - class update for N frames")
            print("* sp(, ) - spawns N vehicles")
            print("* ul() - class update for N frames")
            print("* quit / exit - closes the console")
            print("* ul() - class update for N frames")
            print("* quit / exit - closes the console")
            goto continue
        end
        --print(cmd)
        exec(cmd)
@/lua/ge/extensions/gameplay/rally/notebook/structured/textCompositor.lua

  -- print(string.format("Enumerating from %d to %d with step %d", self.min, self.max, self.step))
  local out = {}
@/lua/ge/extensions/trackbuilder/trackBuilder.lua
    for name, set in pairs(materialSettings.textureSets) do
      if im.ImageButton("##imageButton4", set.tex.texId, im.ImVec2(64,64), im.ImVec2Zero, im.ImVec2One, im.ImColorByRGB(0,0,0,255).Value, im.ImColorByRGB(255,255,255,255).Value) then print("Image") end
      dragDropSourceTextureSet(name, set)
    for name, glowMap in pairs(materialSettings.glowMaps) do
      if im.ImageButton("##imageButton5", glowMap.tex.texId, im.ImVec2(64,64), im.ImVec2Zero, im.ImVec2One, im.ImColorByRGB(0,0,0,255).Value, im.ImColorByRGB(255,255,255,255).Value) then print("Image") end
      dragDropSourceGlowMap(name, glowMap)
@/lua/vehicle/extensions/tech/platooning.lua
local function vehicleJoined(vid)
  print("vid: "..vid)
  table.insert(relayVehicles,vid)
@/lua/common/jbeamWriter.lua
    log("E", "jsonWriteFile", "Unable to open file for writing: "..dumps(filename))
    print(debug.tracesimple())
  end
@/lua/common/jbeam/loader.lua
  --end
  --print(">>> spawnHash = " .. tostring(spawnHash))
@/lua/ge/extensions/editor/dynamicDecals/layerTypes/linkedSet.lua
  else
    print("not yet implemented")
  end
@/lua/ge/extensions/editor/perfProfiler.lua
      end
        --print("removing chart..")
        --charts[i] = nil
@/lua/vehicle/powertrain/sequentialGearbox.lua

  -- print(string.format("volIn - %0.2f / volOut - %0.2f / ptchIn - %0.2f / ptchOut - %0.2f / inLoad - %0.2f / outLoad - %0.2f", volumeInput, volumeOutput, pitchInput, pitchOutput, inputLoad, outputLoad))
end
@/lua/vehicle/electricsCustomValueParser.lua
  customElectricsEnv.logValue = function(value, label)
    print(string.format("Custom Electric: %s = %s", label or "", tostring(value)))
    return value
local function resetCustomValues()
  --print("resetCustomValues")
  --dump(customDefaultValues)
  -- for s in expr:gmatch("%a[%a%d_%.]*") do
  --   print("Literal: " .. s)
  --   --   --we need to check if the literal exists in the env (functions mostly) or if it's in the whitelist (for stuff like true/false/etc)
  buildBaseEnv()
  --print("base env")
  --dump(customElectricsEnv)

  --print("customValueData")
  --dump(customValueData)

  --print("customDefaultValues")
  --dump(customDefaultValues)

  --print("customValueUpdateStrings")
  --dump(customValueUpdateStrings)

  --print("customValueUpdates")
  --dump(customValueUpdates)

  --print("customValueUpdateString")
  --dump(customValueUpdateString)
@/lua/common/particles.lua
    for k, v in pairs(mats) do
        --print(" "..s.." == "..v.name)
        if s == v.name then
    for k,v in pairs(mats) do
        --print(" "..s.." == "..v.name)
        if s == v.name then
            if v[kc] ~= "" then
                --print("kc: "..tostring(kc) .. " / " .. v[kc])
                local s = ""

        print("###"..compareFuncStr.. " = " .. tostring(v.compareFunc(p)).."")
        ]]--
@/lua/vehicle/controller/couplings/fifthwheel.lua
local function requestKingpinData(obj2Id)
  --print("request kingpin data for id: " .. obj2Id)
  local kingpinCmd = string.format([[
local function updateGFX(dt)
  --print(state)
  --check what vehicles we are colliding with
    if not detachingKingpinObjId or not detachingKingpinNodeCid or not kingpinCache[detachingKingpinObjId] or not kingpinCache[detachingKingpinObjId][detachingKingpinNodeCid] or kingpinCache[detachingKingpinObjId][detachingKingpinNodeCid].distance > 0.6 then
      --print("fully detached")
      state = couplerState.detached
    if minDistanceObjId and minDistanceNodeCid and minDistance < fifthwheelCouplerRadius * 0.8 then
      --print("attach")
      obj:attachExternalCoupler(fifthwheelNodeCid, minDistanceObjId, minDistanceNodeCid, fifthwheelCouplerStrength, fifthwheelCouplerRadius, fifthwheelCouplerLockRadius, fifthWheelCouplerLatchSpeed, 0)
local function onCouplerFound(nodeId, obj2id, obj2nodeId)
  --print("found")
end
  if nodeId == fifthwheelNodeCid then
    --print("fully attached")
    state = couplerState.attached
local function onCouplerDetached(nodeId, obj2id, obj2nodeId, breakForce)
  --print(breakForce)
  if nodeId == fifthwheelNodeCid then
@/lua/ge/extensions/flowgraph/nodes/ui/message.lua
    helper.icon = self.pinIn.icon.value or nil
    --print(self.pinIn.message.value)
    --ui_message(tostring(self.pinIn.message.value), self.pinIn.duration.value or 5, self.pinIn.category.value or ("__"..self.id), self.pinIn.icon.value)
@/lua/ge/extensions/gameplay/statisticModules/watchJturn.lua
local function cancel()
  -- if triggered then print("cancel") end
  triggered = false
  end
  -- print(simTime)
  -- if upWorldVector:dot(vup) > THRESHOLD then
  -- end
  -- print( dumps(upWorldVector:dot(vup)).."\t"..dumps(vdir:dot(velocity)) .."\ttr="..dumps(triggered) )
end
@/lua/ge/extensions/gameplay/markers/bigmapMarker.lua
  local smootherVal = self.bigMapMarkerAlphaSmoother:getWithRateUncapped(bigMapActive and 1 or 0, data.dt, markerAlphaRate)
  --print(string.format("%0.2f - %s", smootherVal, self.id))
  local bigMapMarkerAlpha = clamp(smootherVal,0,1)
@/lua/ge/extensions/util/export.lua
  for _, prop in pairs(v.vdata.props or {}) do
    -- print("prop["..dumps(_)..dumps(prop.mesh))
    if prop.mesh ~= "SPOTLIGHT" then
    table.insert(keyFrameTimes, frameTime)
    print(' ** frame ' .. tostring(framesRecorded) .. ' = ' .. tostring(frameTime) ..' s')
  else