len
Definition
-- @/len:-1
function len(...)
Callers
@/lua/ge/extensions/util/docCreator.lua
if string.len(v) > 0 and FS:fileExists(v) then
local orgFilename = v
if info.vendorName then
if string.lower(string.sub(name, 1, string.len(info.vendorName))) == string.lower(info.vendorName) then
name = string.sub(name, string.len(info.vendorName) + 1)
if string.lower(string.sub(name, 1, string.len(info.vendorName))) == string.lower(info.vendorName) then
name = string.sub(name, string.len(info.vendorName) + 1)
name = name:gsub("^%s+", "") -- strip whitespaces
@/lua/ge/extensions/editor/particleEditor.lua
while string.len(stringList) > 0 do
local first, last, particleDataName = string.find(stringList, '(%S+)')
while string.len(stringList) > 0 do
local first, last, particleDataName = string.find(stringList, '(%S+)')
@/lua/vehicle/controller/drivingDynamics/actuators/activeDiffLock.lua
local nameString = jbeamData.name
local slashPos = nameString:find("/", -nameString:len())
if slashPos then
@/lua/ge/extensions/flowgraph/nodes/vehicle/ai/scriptAI/pathFromFile.lua
for _, fileName in pairs(self.files) do
local fnShort = string.sub(fileName, string.len(trackFilePath) + 1)
fnShort = string.sub(fnShort, 1, string.len(fnShort) - string.len(trackFileExt))
local fnShort = string.sub(fileName, string.len(trackFilePath) + 1)
fnShort = string.sub(fnShort, 1, string.len(fnShort) - string.len(trackFileExt))
if im.Selectable1(fnShort, fnShort==self.fnShort) then
local fnShort = string.sub(fileName, string.len(trackFilePath) + 1)
fnShort = string.sub(fnShort, 1, string.len(fnShort) - string.len(trackFileExt))
if im.Selectable1(fnShort, fnShort==self.fnShort) then
if self.fileName and self.fileName ~= "" then
local fnShort = string.sub(self.fileName, string.len(trackFilePath) + 1)
self.fnShort = string.sub(fnShort, 1, string.len(fnShort) - string.len(trackFileExt))
local fnShort = string.sub(self.fileName, string.len(trackFilePath) + 1)
self.fnShort = string.sub(fnShort, 1, string.len(fnShort) - string.len(trackFileExt))
end
local fnShort = string.sub(self.fileName, string.len(trackFilePath) + 1)
self.fnShort = string.sub(fnShort, 1, string.len(fnShort) - string.len(trackFileExt))
end
@/lua/ge/extensions/editor/mainMenu.lua
local s = ffi.string(windowSearchTxt)
windowSearchDisplayResult = s:len() > 0
if windowSearchDisplayResult then
@/lua/ge/extensions/editor/preferences.lua
if string.len(defVal) > 100 then
defVal = string.sub(defVal, 1, 100) .. "..."
@/lua/ge/extensions/editor/fileDialog.lua
currentFolderStat = FS:stat(currentPath)
local pathLen = string.len(currentPath) + 1
-- get entries for current path
if lastSep then
parentFolder = currentPath:sub(1, currentPath:len()-lastSep+1 )
end
execCB({path=currentPath, action=action, stat=currentFolderStat})
elseif action == "Save" and fname:len() > 0 then
if fname:reverse():find(options.suffix[fileTypeSelected][2]:reverse()) ~= 1 then
@/lua/common/extensions/ui/imguiUtils.lua
elseif type(data) == 'string' then
if string.len(data) == 0 then
imgui.PushStyleColor2(imgui.Col_Text, imgui.ImVec4(0.7, 0.7, 0.7, 1))
@/lua/ge/extensions/core/flowgraphManager.lua
local function reInitOnFileChange(filename)
local requireFilename = string.sub(filename, 1, string.len(filename) - 4)
log("I","flowgraphManager","Reloading Node: " .. tostring(requireFilename))
-- check basic nodes
if filename:sub(1, string.len(nodePath)) == nodePath then
reInitOnFileChange(filename)
-- check custom nodes
if filename:sub(string.len(filename)-7,string.len(filename)) == 'Node.lua' then
for _,manager in ipairs(managers) do
-- check custom nodes
if filename:sub(string.len(filename)-7,string.len(filename)) == 'Node.lua' then
for _,manager in ipairs(managers) do
local dirname, fn, e = path.split(filename)
local path = dirname:sub(string.len(nodePath) + 1)
local pathArgs = split(path, '/')
end
local moduleName = string.sub(fn, 1, string.len(fn) - 4)
local requireFilename = string.sub(filename, 1, string.len(filename) - 4)
local moduleName = string.sub(fn, 1, string.len(fn) - 4)
local requireFilename = string.sub(filename, 1, string.len(filename) - 4)
local dirname, fn, e = path.splitWithoutExt(filename, true)
local path = dirname:sub(string.len(stateTemplatePath) + 1)
if path ~= "" then
local moduleName = fn
--local requireFilename = string.sub(filename, 1, string.len(filename) - 4)
local stateData = {}
@/lua/ge/extensions/flowgraph/nodes/logic/booleanExpression.lua
self.lastBuiltExpression = nil --nil our tracker, otherwise we can end up with no func
if self.data.expression:len() <= 0 then
error = "Please enter a valid expression"
@/lua/common/jbeam/sections/meshs.lua
return ColorF(v.r / 255, v.g / 255, v.b / 255, v.a / 255)
elseif type(v) == 'string' and string.len(v) > 7 and v:sub(1,1) == '#' then
v = v:gsub("#","")
@/lua/ge/extensions/scenario/nomoveGoal.lua
local vehicle = scenetree.findObjectById(instance.vId)
if vehicle and (instance.startPos - vehicle:getPosition()):len() > 0.1 then
log('D', logTag, 'checkRaceGoals failed: '..instance.vehicleName..' moved '..tostring(instance.startPos)..' '..tostring( vehicle:getPosition() ) )
@/lua/ge/extensions/editor/trafficManager.lua
local vehGroupFile = ffi.string(options.vehicleGroupFile)
if vehGroupFile:len() > 0 then
vehGroup = jsonReadFile(vehGroupFile)
@/lua/ge/extensions/editor/missionEditor.lua
local s = ffi.string(missionSearchTxt)
missionSearchDisplayResult = s:len() > 0
if missionSearchDisplayResult then
table.insert(files, f)
local dir, filename, ext =path.split(string.sub(f, 2+string.len(lastShownMission.missionFolder)))
if dir then
@/lua/ge/extensions/scenario/scenariohelper.lua
if sceneObject1 and sceneObject2 then
return (sceneObject1:getPosition() - sceneObject2:getPosition()):len()
else
@/lua/ge/extensions/ui/uiNavi.lua
-- local tmpmap = deepcopy(m) -- since we are always just create a new object out of primitive data types in the function below we don't need this copy here
local oldSize = tostring(string.len(jsonEncode(tmpmap.nodes)))
local newNodes = {}
end
-- print('new node list size (char): ' .. tostring(string.len(jsonEncode(newNodes))) .. ' (used to be: ' .. oldSize .. ', nr nodes: '.. tostring(counter - 2) .. ')')
return newNodes
@/lua/vehicle/controller/lineLock.lua
end
wheelNamesString = wheelNamesString:sub(0, wheelNamesString:len() - 2)
@/lua/common/libs/copas/copas/http.lua
if not chunk then return sock:send("0\r\n\r\n") end
local size = string.format("%X\r\n", string.len(chunk))
return sock:send(size .. chunk .. "\r\n")
reqt.headers = {
["content-length"] = string.len(b),
["content-type"] = "application/x-www-form-urlencoded"
@/lua/ge/extensions/editor/api/gui.lua
local highlightLower = highlightText:lower()
local highlightLowerLen = string.len(highlightLower) - 1
for i = 0, 6 do -- up to 6 matches overall ...
local style = imgui.GetStyle()
local dispErase = ffi.string(text):len() > 0
local uiScale = ui_imgui.GetIO().FontGlobalScale --editor.getPreference("ui.general.scale")
@/lua/ge/extensions/editor/missionEditor/genericTypeData.lua
local serializedProgress = jsonEncodePretty(self.mission.missionTypeData or "{}")
local arraySize = 8*(2+math.max(128, 4*serializedProgress:len()))
local arrayChar = im.ArrayChar(arraySize)
@/lua/ge/extensions/scenario/positionGoal.lua
if endobj and vehicle then
local distance = (endobj:getPosition() - vehicle:getPosition()):len()
if state == 'onRaceResult' then
@/lua/vehicle/controller/drivingDynamics/actuators/adaptiveTorsionBars.lua
local nameString = jbeamData.name
local slashPos = nameString:find("/", -nameString:len())
if slashPos then
@/lua/common/utils.lua
return color(v.r, v.g, v.b, v.a)
elseif type(v) == 'string' and string.len(v) > 7 and v:sub(1,1) == '#' then
v = v:gsub("#","")
function string.startswith(String,Start)
return string.sub(String,1,string.len(Start))==Start
end
function string.endswith(String,End)
return End=='' or string.sub(String,-string.len(End))==End
end
local counter = 1
local len = string.len(text)
for i = 1, len, 3 do
for line in f:lines() do
if string.len(line) > 0 then
local firstChar = string.sub(line, 1, 1)
function hex_dump(str)
local len, hex, asc = string.len(str), '', ''
for i = 1, len do
@/lua/ge/extensions/editor/terrainMaterialsEditor.lua
-- check if a material name has been set
if string.len(materialName) == 0 then
notificationState = NotificationState_ErrorMtlNameIsEmpty
@/lua/ge/extensions/core/vehicle/partmgmt.lua
for _, file in pairs(files) do
local basename = string.sub(file, string.len(playerVehicle.vehicleDirectory) + 1, -1)
table.insert(result,
@/lua/ge/extensions/campaign/photoSafari.lua
local photoTrigger = scenetree.findObject(M.location)
local vehicleDistance_To_Obj = (vehicle:getPosition() - photoTrigger:getPosition()):len()
local sceneObject = scenetree.findObject(M.targetObj)
@/lua/ge/extensions/scenario/distanceGoal.lua
if state == 'onRaceTick' and vehicle then
local dis = (vehicle:getPosition() - targetobj:getPosition() ):len()
--print("inside maxDistance check")
@/lua/ge/extensions/scenario/scenarios.lua
if node2 and node1 then
distance = distance + (pos2 - pos1):len()
else
@/lua/vehicle/controller/drivingDynamics/CMU.lua
local controllerName = sub.name
local slashPos = controllerName:find("/", -controllerName:len())
if slashPos then
@/lua/ge/extensions/scenario/scenariosLoader.lua
if string.startswith(p, scenarioData.directory) then
local imageFilename = string.sub(p, string.len(scenarioData.directory) + 2, string.len(p) - 4)
local foundClash = false
if string.startswith(p, scenarioData.directory) then
local imageFilename = string.sub(p, string.len(scenarioData.directory) + 2, string.len(p) - 4)
local foundClash = false
@/lua/ge/extensions/freeroam/dragRace.lua
if centerPointToTrigger:len() > 10 then return end
if playerDistanceFromStart <= 0.35 and playerStageReady == false and playerVehicle:getVelocity():len() < 0.1 then
lights.stageLights.stageLightR.obj:setHidden(false)
-- Updating right display
updateDisplay("r", time, rightVehicle:getVelocity():len() * speedUnit)
local currentVehicle = core_vehicles.getCurrentVehicleDetails()
end
table.insert(results, {time = (disqualified and "Disqualified" or time), speed = rightVehicle:getVelocity():len() * speedUnit, vehicle = vehicleName})
table.remove(vehicles, i)
-- Updating left display
updateDisplay("l", time, leftVehicle:getVelocity():len() * speedUnit)
table.insert(results, {time = time, speed = leftVehicle:getVelocity():len() * speedUnit, vehicle = opponentVehicleName .. ' (opponent)'})
updateDisplay("l", time, leftVehicle:getVelocity():len() * speedUnit)
table.insert(results, {time = time, speed = leftVehicle:getVelocity():len() * speedUnit, vehicle = opponentVehicleName .. ' (opponent)'})
table.remove(vehicles, i)
@/lua/ge/extensions/gameplay/drag/general.lua
dragData._originFile = file
dragData._fnWithoutExt = string.sub(fn, 1, string.len(fn) - string.len(ext)-1)
dragData._index = i
dragData._originFile = file
dragData._fnWithoutExt = string.sub(fn, 1, string.len(fn) - string.len(ext)-1)
dragData._index = i
@/lua/common/libs/LuaIRC/util.lua
local _, trailToken = line:find("%s+:", lineStart)
local lineStop = line:len()
local trailing
@/lua/ge/extensions/editor/flowgraph/nodelibrary.lua
local highlightLower = highlightText:lower()
local highlightLowerLen = string.len(highlightLower) - 1
for i = 0, 6 do -- up to 6 matches overall ...
@/lua/ge/extensions/util/export.lua
f:close()
local fileSize = string.len(fileData)
local bufferIDTexture = _addBuffer(gltfRoot, fileData, fileSize, 'texture')
--chunk[0] JSON
-- log("I", logTag, "#jsonContent="..dumps(#jsonContent).."|"..dumps(string.len(jsonContent)).. " pad = "..dumps(fourByteAlignPaddingSize(#jsonContent)))
f:write( string.char(sepbytes(#jsonContent + fourByteAlignPaddingSize(#jsonContent))) ) --size
@/lua/vehicle/main.lua
local vehicle
if type(initData) == "string" and string.len(initData) > 0 then
profilerPushEvent("deserialize")
@/lua/common/json.lua
ch = s:match('^[^"\\]*', i)
i = i + (ch and ch:len() or 0)
concatTable[resultidx] = ch
@/lua/ge/extensions/career/career.lua
local currentSaveSlot, currentSavePath = career_saveSystem.getCurrentSaveSlot()
imgui.Text((string.sub(currentSavePath, string.len(career_saveSystem.getSaveRootDirectory())+2, -1)))
imgui.Separator()
@/lua/ge/extensions/gameplay/taxi.lua
local veh = getObjectByID(vehId)
local taxiSpeed = veh:getVelocity():len() * 3.6
if state == "pullingOver" and taxiSpeed < maxPullOverSpeed then
if not veh then return false end
return veh:getVelocity():len() > 5 and currentStep == steps.taxiDriving
end
if currentStep == steps.taxiCalled and gameplay_walk.isWalking() and getObjectByID(currentTaxiId):getVelocity():len() < 1 then
local dist = be:getPlayerVehicle(0):getPosition():distance(map.objects[currentTaxiId].pos)
@/lua/ge/extensions/editor/vizHelper.lua
for k, v in ipairs(vizHelper) do
vizHelper[k] = string.sub(v, string.len(artPath) + 1)
end
@/gameplay/missionTypes/busMode/constructor.lua
local hex = hex:gsub("#","")
if hex:len() == 3 then
return {(tonumber("0x"..hex:sub(1,1))*17)/255, (tonumber("0x"..hex:sub(2,2))*17)/255, (tonumber("0x"..hex:sub(3,3))*17)/255, 1}
@/lua/ge/extensions/core/recoveryPrompt.lua
local function slowerThan(v) local veh = getPlayerVehicle(0) if veh then return veh:getVelocity():len() <= v end return false end
if veh then
if veh:getVelocity():len() >= movingSlowlyThreshold then
return false, "Stop your vehicle."
if veh then
if veh:getVelocity():len() >= stoppedThreshold then
return false, "Stop your vehicle completely."
@/lua/ge/extensions/gameplay/walk.lua
vehVelocity:set(veh:getVelocityXYZ())
local vehicleSpeed = vehVelocity:len()
if vehicleSpeed < lowerStoppingSpeed then atParkingSpeed = true end
@/lua/ge/extensions/flowgraph/manager.lua
-- TODO: clear up hack with filepaths (issue when loading a FG as a mission)
local path = dirname:sub(string.len(customNodePath) + string.find(dirname, customNodePath, 1, true))
local pathArgs = split(path, '/')
end
local moduleName = string.sub(fn, 1, string.len(fn) - 4)
local requireFilename = string.sub(filename, 1, string.len(filename) - 4)
local moduleName = string.sub(fn, 1, string.len(fn) - 4)
local requireFilename = string.sub(filename, 1, string.len(filename) - 4)
local status, node = pcall(rerequire, requireFilename)
@/lua/ge/extensions/career/saveSystem.lua
local function renameFolder(oldName, newName)
local oldNameLength = string.len(oldName)
if renameFolderRec(oldName, newName, oldNameLength) then
@/lua/ge/extensions/editor/missionEditor/objectives.lua
local serializedSaveData = jsonEncodePretty(self.mission.careerSetup or "{}")
local arraySize = 8*(2+math.max(128, 4*serializedSaveData:len()))
local arrayChar = im.ArrayChar(arraySize)
@/lua/ge/extensions/tech/partAnnotations.lua
for keyword, color in pairs(matches) do
local len = string.len(keyword)
if len > maxKnown then
@/lua/vehicle/electricsCustomValueParser.lua
-- -- --if it's not in either table, it's forbidden and we abort parsing
-- s = s:sub(1, (s:find("%.") or (s:len() + 1)) - 1)
-- if not (customElectricsEnv[s] or keyworkdWhiteListLookup[s]) then
@/lua/ge/extensions/core/modmanager.lua
local path, filename, ext = path.split(v)
local infofile = path .. string.sub(filename, 0, -string.len(ext)-2) .. '.json'
local data = jsonReadFile(infofile)
if zipPath:startswith(mods[modname].unpackedPath) then
zipPath = string.sub(zipPath, string.len(mods[modname].unpackedPath) + 1)
if string.startswith(zipPath, '/') then
if string.startswith(realPath, userPath) then
local modPath = realPath:sub(string.len(userPath))
modPath = modPath:gsub("\\", "/")
@/lua/ge/extensions/core/online.lua
r.pub.responseCode = responseCode
if type(responseresponseHeadersBuffer) == 'string' and string.len(responseHeaders) > 0 then
r.pub.responseHeaders = responseHeaders
end
if type(responseBuffer) == 'string' and string.len(responseBuffer) > 0 then
r.pub.responseBuffer = responseBuffer
@/lua/ge/extensions/core/couplerCameraModifier.lua
if obj1 ~= nil and obj2 ~= nil then
local dist = (pos1 - pos2):len()
if dist < 1 or dist > 15 then return false end
@/lua/ge/extensions/editor/gen/utils.lua
local startPoint, endPoint = 1, 1;
for i = 1, str:len() do
if (i + 1) > str:len() then
for i = 1, str:len() do
if (i + 1) > str:len() then
endPoint = str:len();
if (i + 1) > str:len() then
endPoint = str:len();
end
end
if (str:sub(i, i + (delimiter:len() - 1)) == delimiter) then
endPoint = i - 1;
table.insert(result, str:sub(startPoint, endPoint));
startPoint = i + (delimiter:len());
elseif (i == str:len()) then
startPoint = i + (delimiter:len());
elseif (i == str:len()) then
endPoint = str:len();
elseif (i == str:len()) then
endPoint = str:len();
table.insert(result, str:sub(startPoint, endPoint));
@/lua/common/libs/luamqtt/mqtt/protocol4.lua
-- DOC: 3.1.1 Fixed header
local header = make_header(packet_type.CONNECT, 0, variable_header:len() + payload:len())
return combine(header, variable_header, payload)
-- DOC: 3.1.1 Fixed header
local header = make_header(packet_type.CONNECT, 0, variable_header:len() + payload:len())
return combine(header, variable_header, payload)
-- DOC: 3.3.1 Fixed header
local header = make_header(packet_type.PUBLISH, flags, variable_header:len() + payload:len())
return combine(header, variable_header, payload)
-- DOC: 3.3.1 Fixed header
local header = make_header(packet_type.PUBLISH, flags, variable_header:len() + payload:len())
return combine(header, variable_header, payload)
-- DOC: 3.8.1 Fixed header
local header = make_header(packet_type.SUBSCRIBE, 2, variable_header:len() + payload:len()) -- NOTE: fixed flags value 0x2
return combine(header, variable_header, payload)
-- DOC: 3.8.1 Fixed header
local header = make_header(packet_type.SUBSCRIBE, 2, variable_header:len() + payload:len()) -- NOTE: fixed flags value 0x2
return combine(header, variable_header, payload)
-- DOC: 3.10.1 Fixed header
local header = make_header(packet_type.UNSUBSCRIBE, 2, variable_header:len() + payload:len()) -- NOTE: fixed flags value 0x2
return combine(header, variable_header, payload)
-- DOC: 3.10.1 Fixed header
local header = make_header(packet_type.UNSUBSCRIBE, 2, variable_header:len() + payload:len()) -- NOTE: fixed flags value 0x2
return combine(header, variable_header, payload)
@/flowgraphEditor/Tower/customNodes/towerNode.lua
local _, fn, ext = path.split(room.file, true)
local name = generateObjectNameForClass('Prefab', string.format("%s - %d - ", string.sub(fn, 1, string.len(fn) - string.len(ext)-1), i))
local scenetreeObject = spawnPrefab(name , self.mgr.savedDir .. room.file, "0 0 0", "0 0 1 0", "1 1 1", false)
local _, fn, ext = path.split(room.file, true)
local name = generateObjectNameForClass('Prefab', string.format("%s - %d - ", string.sub(fn, 1, string.len(fn) - string.len(ext)-1), i))
local scenetreeObject = spawnPrefab(name , self.mgr.savedDir .. room.file, "0 0 0", "0 0 1 0", "1 1 1", false)
@/lua/common/jsonDebug.lua
ch = s:match('^[^"\\]*', i)
i = i + (ch and ch:len() or 0)
concatTable[resultidx] = ch
@/lua/ge/extensions/core/vehicles.lua
local formats = {}
if formattxt and string.len(formattxt) >0 then
formats = jsonDecode(formattxt )
local txt = veh:getDynDataFieldbyName("licenseText", 0)
if txt and txt:len() > 0 then
return txt
local formattxt = veh:getDynDataFieldbyName("licenseFormats", 0)
if formattxt and string.len(formattxt) >0 then
formats = jsonDecode(formattxt )
if not design or not design.data then
if designPath:len() > 0 then
log('E', 'setPlateText', "License plate "..designPath.." not existing")
@/lua/ge/extensions/editor/perfProfiler.lua
local dir, fn, ext = path.split(file, true)
fn = fn:sub(0,fn:len()-ext:len()-1)
local dir, fn, ext = path.split(file, true)
fn = fn:sub(0,fn:len()-ext:len()-1)
@/lua/ge/extensions/flowgraph/nodes/math/math.lua
self.lastBuiltExpression = nil --nil our tracker, otherwise we can end up with no func
if self.data.expression:len() <= 0 then
error = "Please enter a valid expression"
@/lua/common/libs/luamqtt/mqtt/protocol5.lua
return combine(
str_char(make_var_length(props:len())), -- DOC: 2.2.2.1 Property Length
props -- DOC: 2.2.2.2 Property
-- DOC: 3.1.1 Fixed header
local header = make_header(packet_type.CONNECT, 0, variable_header:len() + payload:len())
return combine(header, variable_header, payload)
-- DOC: 3.1.1 Fixed header
local header = make_header(packet_type.CONNECT, 0, variable_header:len() + payload:len())
return combine(header, variable_header, payload)
-- DOC: 3.3.1 Fixed header
local header = make_header(packet_type.PUBLISH, flags, variable_header:len() + payload:len())
return combine(header, variable_header, payload)
-- DOC: 3.3.1 Fixed header
local header = make_header(packet_type.PUBLISH, flags, variable_header:len() + payload:len())
return combine(header, variable_header, payload)
-- DOC: The Reason Code and Property Length can be omitted if the Reason Code is 0x00 (Success) and there are no Properties. In this case the PUBACK has a Remaining Length of 2.
if props:len() > 1 or args.rc ~= 0 then
variable_header:append(make_uint8(args.rc)) -- DOC: 3.4.2.1 PUBACK Reason Code
-- DOC: 3.4.1 PUBACK Fixed Header
local header = make_header(packet_type.PUBACK, 0, variable_header:len())
return combine(header, variable_header)
-- DOC: The Reason Code and Property Length can be omitted if the Reason Code is 0x00 (Success) and there are no Properties. In this case the PUBREC has a Remaining Length of 2.
if props:len() > 1 or args.rc ~= 0 then
variable_header:append(make_uint8(args.rc)) -- DOC: 3.5.2.1 PUBREC Reason Code
-- DOC: 3.5.1 PUBREC Fixed Header
local header = make_header(packet_type.PUBREC, 0, variable_header:len())
return combine(header, variable_header)
-- DOC: The Reason Code and Property Length can be omitted if the Reason Code is 0x00 (Success) and there are no Properties. In this case the PUBREL has a Remaining Length of 2.
if props:len() > 1 or args.rc ~= 0 then
variable_header:append(make_uint8(args.rc)) -- DOC: 3.6.2.1 PUBREL Reason Code
-- DOC: 3.6.1 PUBREL Fixed Header
local header = make_header(packet_type.PUBREL, 2, variable_header:len()) -- flags: fixed 0010 bits, DOC: Figure 3‑14 – PUBREL packet Fixed Header
return combine(header, variable_header)
-- DOC: The Reason Code and Property Length can be omitted if the Reason Code is 0x00 (Success) and there are no Properties. In this case the PUBCOMP has a Remaining Length of 2.
if props:len() > 1 or args.rc ~= 0 then
variable_header:append(make_uint8(args.rc)) -- DOC: 3.7.2.1 PUBCOMP Reason Code
-- DOC: 3.7.1 PUBCOMP Fixed Header
local header = make_header(packet_type.PUBCOMP, 0, variable_header:len())
return combine(header, variable_header)
-- DOC: 3.8.1 SUBSCRIBE Fixed Header
local header = make_header(packet_type.SUBSCRIBE, 2, variable_header:len() + payload:len()) -- flags: fixed 0010 bits, DOC: Figure 3‑18 SUBSCRIBE packet Fixed Header
return combine(header, variable_header, payload)
-- DOC: 3.8.1 SUBSCRIBE Fixed Header
local header = make_header(packet_type.SUBSCRIBE, 2, variable_header:len() + payload:len()) -- flags: fixed 0010 bits, DOC: Figure 3‑18 SUBSCRIBE packet Fixed Header
return combine(header, variable_header, payload)
-- DOC: 3.10.1 UNSUBSCRIBE Fixed Header
local header = make_header(packet_type.UNSUBSCRIBE, 2, variable_header:len() + payload:len()) -- flags: fixed 0010 bits, DOC: Figure 3.28 – UNSUBSCRIBE packet Fixed Header
return combine(header, variable_header, payload)
-- DOC: 3.10.1 UNSUBSCRIBE Fixed Header
local header = make_header(packet_type.UNSUBSCRIBE, 2, variable_header:len() + payload:len()) -- flags: fixed 0010 bits, DOC: Figure 3.28 – UNSUBSCRIBE packet Fixed Header
return combine(header, variable_header, payload)
-- DOC: The Reason Code and Property Length can be omitted if the Reason Code is 0x00 (Normal disconnecton) and there are no Properties. In this case the DISCONNECT has a Remaining Length of 0.
if props:len() > 1 or args.rc ~= 0 then
variable_header:append(make_uint8(args.rc)) -- DOC: 3.14.2.1 Disconnect Reason Code
-- DOC: 3.14.1 DISCONNECT Fixed Header
local header = make_header(packet_type.DISCONNECT, 0, variable_header:len()) -- flags: 0
return combine(header, variable_header)
local props = make_properties(packet_type.AUTH, args) -- DOC: 3.15.2.2 AUTH Properties
if props:len() > 1 or args.rc ~= 0 then
variable_header:append(make_uint8(args.rc)) -- DOC: 3.15.2.1 Authenticate Reason Code
-- DOC: 3.15.1 AUTH Fixed Header
local header = make_header(packet_type.AUTH, 0, variable_header:len())
return combine(header, variable_header)
@/lua/vehicle/controller/drivingDynamics/actuators/activeDiffBias.lua
local nameString = jbeamData.name
local slashPos = nameString:find("/", -nameString:len())
if slashPos then
@/lua/common/extensions/ui/flowgraph/editor.lua
elseif tpe == 'string' or tpe == 'bool' or tpe == 'boolean' then
return (tostring(value):sub(0, 10) .. (tostring(value):len() > 10 and "..." or ""))
elseif tpe == 'number' then
local newName = ffi.string(newNameArray)
if string.len(newName) > 0 then
if source:renameVariable(name, newName) then
@/lua/ge/extensions/editor/decalEditor.lua
local _, _, ext = path.split(fileName)
local fileNameNoExt = string.sub(fileName, 1, -(ext:len() + 1))
if not FS:fileExists(fileNameNoExt .. "png") and not FS:fileExists(fileNameNoExt .. "dds") then
@/lua/common/libs/luasocket/socket/http.lua
if not chunk then return sock:send("0\r\n\r\n") end
local size = string.format("%X\r\n", string.len(chunk))
return sock:send(size .. chunk .. "\r\n")
reqt.headers = {
["content-length"] = string.len(b),
["content-type"] = "application/x-www-form-urlencoded"
@/lua/vehicle/controller/drivingDynamics/actuators/adaptiveDampers.lua
local nameString = jbeamData.name
local slashPos = nameString:find("/", -nameString:len())
if slashPos then
@/lua/ge/extensions/util/inputSystemUtils.lua
local function isValidVIdPId(vidpid)
if type(vidpid) ~= 'string' or vidpid:len() ~= 8 then
return false
@/lua/ge/extensions/editor/dataBlockEditor.lua
while string.len(stringList) > 0 do
local first, last, name = string.find(stringList, '(%a+)')
@/lua/ge/extensions/flowgraph/nodes/ui/multiDescription.lua
local txt = self.data.pattern
if txt:len() > 10 then
im.Text(txt:sub(1,10).."...")
@/lua/ge/main.lua
Lua:log(a, b, c, ...)
if (type(a) == "string" and string.len(a) > 1000) or
(type(b) == "string" and string.len(b) > 1000) or
if (type(a) == "string" and string.len(a) > 1000) or
(type(b) == "string" and string.len(b) > 1000) or
(type(c) == "string" and string.len(c) > 1000) ) then
(type(b) == "string" and string.len(b) > 1000) or
(type(c) == "string" and string.len(c) > 1000) ) then
log("W", b, "The long log message above has been triggered by:")
@/lua/ge/extensions/gameplay/statistic.lua
activityType = "scenario"
activityDetail = "/fg"..missionId:sub(levelFolder:len()+1):gsub("/","@")
elseif scenario_scenarios and scenario_scenarios.getScenario() then
if im.BeginTabItem("entries career") then
--im.TextUnformatted("save : "..dumps(type(fileNameCareer))..dumps(string.len(fileNameCareer or "") )..dumps(fileNameCareer))
if fileDataCareer then
@/lua/vehicle/extensions/tech/OBDEmulator.lua
data = data .. "\r"
local bytesWritten = obj:serialPortWrite(comPortId, data, string.len(data))
if bytesWritten == 0 then --port disconnected?
local data, bufferOverflown = obj:serialPortRead(comPortId)
if string.len(data) > 0 then
serialPortDataReceived(data, bufferOverflown)
@/lua/common/utils/simpleHttpServer.lua
Connection: close
Content-Length: ]] .. string.len(body) .. [[
Connection: close
Content-Length: ]] .. string.len(s) .. [[
Content-Type: application/json
@/lua/ge/extensions/util/autoAnnotation.lua
local annotation = node:getField('annotation', '')
if string.len(annotation) == 0 then
local shapeName = node:getField('shapeName', '')
if string.len(annotation) == 0 then
local name = node:getName()
@/lua/common/libs/LuaIRC/init.lua
print(indent.."["..pos.."] => "..tostring(t).." {")
sub_print_r(val,indent..string.rep(" ",string.len(pos)+8))
print(indent..string.rep(" ",string.len(pos)+6).."}")
sub_print_r(val,indent..string.rep(" ",string.len(pos)+8))
print(indent..string.rep(" ",string.len(pos)+6).."}")
elseif (type(val)=="string") then
@/lua/ge/extensions/core/weather.lua
local levelPath = getMissionFilename() -- /levels/small_island/info.json
if type(levelPath) ~= 'string' or string.len(levelPath) == 0 then return end
@/lua/common/utils/pixellib.lua
local consumedWidth = 0
for i = 1, string.len(text) do
local c = string.sub(text, i, i)
for dy = 1, charHeight do
for dx = 1, string.len(cl[dy]) do
local cf = string.sub(cl[dy], dx, dx)
@/lua/ge/extensions/core/input/actions.lua
if string.startswith(actionName, prefix) then
actionName = string.sub(actionName, 1+string.len(prefix))
else
@/lua/ge/extensions/core/quickAccess.lua
end
if string.sub(args.level, string.len(args.level)) ~= '/' then args.level = args.level .. '/' end -- make sure there is always a trailing slash in the level
@/lua/objectpool/main.lua
local v = require("jbeam/stage2")
if type(initData) == "string" and string.len(initData) > 0 then
local state, initData = pcall(lpack.decode, initData)
@/lua/ge/extensions/core/environment.lua
for k, v in pairs(gms) do
if string.len(k) > 31 then
local newk = string.sub(k, 1, 30)
levelPath = levelPath or getMissionFilename()
if levelPath and string.len(levelPath) > 0 then
local levelDir, filename, ext = path.split(levelPath, "(.-)([^/]-([^%.]*))$")
@/lua/vehicle/extensions/core/quickAccess.lua
end
if string.sub(args.level, string.len(args.level)) ~= "/" then
args.level = args.level .. "/"
@/lua/ge/extensions/core/gamestate.lua
for _, prefix in ipairs(pausedStates) do
if string.sub(stateName, 1, string.len(prefix)) == prefix then
return true
@/lua/ge/extensions/editor/util/searchUtil.lua
local highlightLower = match:lower()
local highlightLowerLen = string.len(highlightLower) - 1
local matchedCharCount = 0
@/lua/ge/extensions/editor/flowgraph/references.lua
local highlightLower = highlightText:lower()
local highlightLowerLen = string.len(highlightLower) - 1
for i = 0, 6 do
@/lua/ge/extensions/gameplay/rally/client.lua
["Content-Type"] = "application/json",
["content-length"] = string.len(reqbody)
},
@/lua/ge/extensions/editor/forestEditor.lua
end
if im.IsItemHovered() and string.len(dbName) >= tooltipLongTextLength then
im.SetTooltip(dbName)
@/lua/common/libs/luamqtt/mqtt/client.lua
local data = tostring(packet)
local len = data:len()
if len <= 0 then
@/lua/ge/extensions/editor/barriersEditor.lua
local directory = "/levels/"..level.."/"
local levelPartLength = (directory:len())+1
for _, f in ipairs(FS:findFiles("/levels/"..level.."/", searchTerm..".prefab", -1, true,true)) do
@/lua/ge/extensions/editor/flowgraph/properties.lua
local oldName = pin.name
if ffi.string(textinput) ~= '' and ffi.string(textinput):gsub("[%s]",""):len()~=0 then
pin.name = ffi.string(textinput)
local oldName = pin.name
if ffi.string(textinput) ~= '' and ffi.string(textinput):gsub("[%s]",""):len()~=0 then
pin.name = ffi.string(textinput)
if data.filepath:find(pin.node.mgr.savedDir) then
sel = data.filepath:sub(pin.node.mgr.savedDir:len()+1,-1)
end
if validExt then
local shortPath = file:sub(pin.node.mgr.savedDir:len()+1,-1)
if im.Selectable1(shortPath) then
if im.Button("Add Tag Field") then
if ffi.string(self.macroTagField) ~= '' and ffi.string(self.macroTagField):gsub("[%s]",""):len()~=0 then
table.insert(self.mgr.macroTags,tag)
@/lua/console/json-performance.lua
fileContent[filename] = readFile(filename)
totalSize = totalSize + string.len(fileContent[filename])
--print(' * ' ..tostring(filename))
@/lua/common/extensions.lua
local extName
if string.len(rootName) > 0 then
extName = rootName..'_'..string.gsub(extPath, "(.*/)(.*)", "%2")
@/lua/common/extensions/ui/imgui_custom_luaintf.lua
local highlightLower = highlightText:lower()
local highlightLowerLen = string.len(highlightLower) - 1
for i = 0, 6 do -- up to 6 matches overall ...
@/lua/ge/extensions/flowgraph/nodes/vehicle/special/wheelDistance.lua
local dot = wheelNodePosToTrigger:normalized():dot(dirVec:normalized())
local distance = (wheelNodePosToTrigger * dot):len()
table.insert(wheels,{wheelNodePos = wheelNodePos, distance = distance})
local dot = pointToTrigger:dot(dirVec:normalized())
local distanceFromStart = -dot --(vehicle:getDirectionVector() * dot):len()
@/lua/ge/extensions/editor/flowgraph/examples.lua
local dirname, fn, e = path.splitWithoutExt(filename, true)
local path = dirname:sub(string.len(stateTemplatePath) + 1)
local moduleName = fn
--local requireFilename = string.sub(filename, 1, string.len(filename) - 4)
local lectionData = {}
local highlightLower = highlightText:lower()
local highlightLowerLen = string.len(highlightLower) - 1
for i = 0, 6 do -- up to 6 matches overall ...
@/lua/ge/extensions/flowgraph/nodes/util/closestRoad.lua
if index == 1 then
local short = string.sub(name,length+1,string.len(name))
local underscoreIndex = string.find(short,"_")
end
local rdIdx = tonumber(string.sub(short,underscoreIndex+1,string.len(short)))
return rdId, rdIdx
@/lua/ge/extensions/editor/scriptAIManager.lua
local fn_short = string.sub(filename, string.len(trackFilePath) + 1)
fn_short = string.sub(fn_short, 1, string.len(fn_short) - string.len(trackFileExt))
local fn_short = string.sub(filename, string.len(trackFilePath) + 1)
fn_short = string.sub(fn_short, 1, string.len(fn_short) - string.len(trackFileExt))
if im.Button(fn_short) then
local fn_short = string.sub(filename, string.len(trackFilePath) + 1)
fn_short = string.sub(fn_short, 1, string.len(fn_short) - string.len(trackFileExt))
if im.Button(fn_short) then
@/lua/ge/extensions/scenario/demolitionDerby.lua
if not lastPosition[vName] then lastPosition[vName] = vObj:getPosition() end
local distance = (vObj:getPosition() - lastPosition[vName]):len()
if distance > 1 then
@/lua/ge/extensions/util/sortLines.lua
for i, line in ipairs(lines) do
if string.len(line[2]) > 0 then
handle:write(line[2] .. '\n')
@/lua/ge/extensions/scenario/busdriver.lua
local hex = hex:gsub("#","")
if hex:len() == 3 then
return (tonumber("0x"..hex:sub(1,1))*17)/255, (tonumber("0x"..hex:sub(2,2))*17)/255, (tonumber("0x"..hex:sub(3,3))*17)/255
@/lua/ge/extensions/editor/api/valueInspector.lua
--TODO: maybe something better for longer strings not fitting in the popup width
if imgui.IsItemHovered() and string.len(objName) >= tooltipLongTextLength then
imgui.SetTooltip(objName)
--TODO: maybe something better for longer strings not fitting in the popup width
if imgui.IsItemHovered() and string.len(objName) >= tooltipLongTextLength then
imgui.SetTooltip(objName)
then
local fieldLen = string.len(fieldValue)
local oldStrRef = nil
--TODO: maybe something better for longer strings not fitting in the popup width
if imgui.IsItemHovered() and string.len(dbName) >= tooltipLongTextLength then
imgui.SetTooltip(dbName)
--editor.logError("Unsupported value type: " .. fieldType .. " (typeName: ".. fieldTypeName ..") " .. " for field: " .. fieldName)
local fieldLen = string.len(fieldValue)
local oldStrRef = nil
@/lua/ge/extensions/ui/console.lua
end
local inplen = string.len(t)
local inplenInt = inplen
if #slashed == 0 then slashed[1]="" end --fix for empty print
if tostring(slashed[1]):len() > 4096 then
logs[logsTail] = {t,lvl,origin,tostring(slashed[1]):sub(1,4096)} --trim so we save memory and don't stress other part of code
-- logs[logsTail] = slashed[i]
if tostring(slashed[i]):len() > 4096 then
logs[logsTail] = {t,lvl,origin,tostring(slashed[i]):sub(1,4096)} --trim so we save memory and don't stress other part of code
local vp = im.GetWindowViewport()
local chunkSize = tostring(v):len() * vp.Size.x / txtwidth
if txtwidth > vp.Size.x or tostring(v):len()>chunkSize then
local chunkSize = tostring(v):len() * vp.Size.x / txtwidth
if txtwidth > vp.Size.x or tostring(v):len()>chunkSize then
local bt = tostring(v)
local chunk = ""
while(bt:len() > chunkSize and chunk:len() < 2048) do
chunk = chunk..bt:sub(1,chunkSize).."\n"
local chunk = ""
while(bt:len() > chunkSize and chunk:len() < 2048) do
chunk = chunk..bt:sub(1,chunkSize).."\n"
end
if bt:len() < chunkSize then
chunk = chunk..bt
chunk = chunk.."\n...\nToo long to display, check the log file"
--chunk = chunk.."\nlsize="..tostring(v):len()
end
local cmd = ffi.string(consoleInputField)
if string.len(cmd) > 0 then
local hex_dump = function (str)
local len = string.len( str )
local dump = ""
local tmp = ffi.string(consoleInputField)
if tmp and string.len(tmp) >0 then
d.consoleInputField = tmp
@/lua/vehicle/extensions/api.lua
["Content-Type"] = "application/x-www-form-urlencoded",
["content-length"] = string.len(reqbody)
},
@/lua/ge/spawn.lua
local function moveTrafficVehiclesAway(bb, vehID)
local vehRadius = bb:getHalfExtents():len()
local bbCenter = bb:getCenter()
@/lua/ge/extensions/editor/createObjectTool.lua
if imgui.IsItemHovered() then
if hiddenClasses[result.name] and string.len(hiddenClasses[result.name]) > 0 then
imgui.SetTooltip(string.format("Use %s for this class", hiddenClasses[result.name]))
imgui.SetTooltip(string.format("Use %s for this class", hiddenClasses[result.name]))
elseif string.len(result.name) >= tooltipLongTextLength then
--TODO: maybe something better for longer strings not fitting in the popup width
@/lua/vehicle/extensions/inputAnalyzer.lua
local inputLength = inputString:len()
for _, is in ipairs(registeredInputStrings) do
local function registerInputString(str, callback)
local strLength = str:len()
if strLength < 8 or strLength > 16 then
@/lua/ge/extensions/trackbuilder/trackBuilder.lua
for _, file in pairs(FS:findFiles(materialSettings.directory, "*.dds", -1, true, false)) do
local fileWithoutExtension = string.sub(file, 1, string.len(file) - 4)
local textureType = string.sub(fileWithoutExtension, string.len(fileWithoutExtension) - 1, string.len(fileWithoutExtension))
local fileWithoutExtension = string.sub(file, 1, string.len(file) - 4)
local textureType = string.sub(fileWithoutExtension, string.len(fileWithoutExtension) - 1, string.len(fileWithoutExtension))
local path = {}
local fileWithoutExtension = string.sub(file, 1, string.len(file) - 4)
local textureType = string.sub(fileWithoutExtension, string.len(fileWithoutExtension) - 1, string.len(fileWithoutExtension))
local path = {}
local path = {}
for str in string.gmatch(string.sub(fileWithoutExtension, 1, string.len(fileWithoutExtension) - 2), "([^'/']+)") do
table.insert( path, str )
else -- glow map
local texType = string.sub(fileWithoutExtension, string.len(fileWithoutExtension) - 4, string.len(fileWithoutExtension))
if texType == "decal" then
else -- glow map
local texType = string.sub(fileWithoutExtension, string.len(fileWithoutExtension) - 4, string.len(fileWithoutExtension))
if texType == "decal" then
local path = {}
for str in string.gmatch(string.sub(fileWithoutExtension, 1, string.len(fileWithoutExtension) - 6), "([^'/']+)") do
table.insert( path, str )
@/lua/ge/extensions/editor/flowgraph/search.lua
local highlightLower = highlightText:lower()
local highlightLowerLen = string.len(highlightLower) - 1
for i = 0, 6 do -- up to 6 matches overall ...
@/lua/vehicle/controller/drivingDynamics/actuators/electronicSplitShaftLock.lua
local nameString = jbeamData.name
local slashPos = nameString:find("/", -nameString:len())
if slashPos then
@/lua/ge/extensions/editor/gen/exp_meshexplorer.lua
-- 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()
@/lua/ge/extensions/flowgraph/nodes/input/blacklistAction.lua
local highlightLower = highlightText:lower()
local highlightLowerLen = string.len(highlightLower) - 1
for i = 0, 6 do
@/lua/ge/extensions/editor/api/camera.lua
local bBox = editor.objectSelectionBBox
local viewRadius = (bBox.maxExtents - bBox.minExtents):len()
local maxViewRadius = 16000
@/lua/ge/extensions/editor/missionEditor/progressSingle.lua
local serializedSaveData = jsonEncodePretty(self.missionInstance.saveData or "{}")
local arraySize = 8*(2+math.max(128, 4*serializedSaveData:len()))
local arrayChar = im.ArrayChar(arraySize)
@/lua/ge/ge_utils.lua
local ascii = '01234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
local sl = string.len(ascii)
for i = 1, len do
@/lua/vehicle/controller/drivingDynamics/actuators/activeCenterDiffLock.lua
local nameString = jbeamData.name
local slashPos = nameString:find("/", -nameString:len())
if slashPos then
@/lua/common/libs/ezSVG/EzSVG.lua
if type(k) == "number" then return true end
if string.sub(k, 1, k.len("__")) == "__" then return false end
return true
@/lua/vehicle/controller/propAnimation/dualAxisLever.lua
elseif firstLetter == "M" then
local gearIndex = desiredMode:sub(2, desiredMode:len())
desiredMode = "M"
--we only support modes here with a length of at least 2
local modeNameLength = impulseMode.modeName:len()
if modeNameLength < 2 then
@/lua/ge/extensions/editor/engineAudioDebug.lua
local dataString = jsonEncodePretty(data)
dataString = dataString:sub(3, dataString:len() - 2)
setClipboard(dataString)
@/lua/vehicle/controller/drivingDynamics/actuators/electronicDiffLock.lua
local nameString = jbeamData.name
local slashPos = nameString:find("/", -nameString:len())
if slashPos then
@/lua/common/libs/luamqtt/mqtt/protocol.lua
function protocol.make_string(str)
return make_uint16(str:len())..str
end
for _, part in ipairs(self) do
len = len + part:len()
end
end
input.available = data:len()
@/lua/ge/extensions/editor/missionEditor/progressSetup.lua
local serializedSaveData = jsonEncodePretty(self.missionInstance.saveData or "{}")
local arraySize = 8*(2+math.max(128, 4*serializedSaveData:len()))
local arrayChar = im.ArrayChar(arraySize)
@/lua/common/libs/luasocket/socket/socket.lua
if err then return nil, err end
length = length - string.len(chunk)
return chunk
@/lua/ge/extensions/flowgraph/nodes/string/format.lua
local txt = self.data.pattern
if txt:len() > 16 then
im.Text(txt:sub(1,16).."...")
@/lua/common/libs/luasocket/socket/mime.lua
if chunk == "" then return "''"
else return string.len(chunk) end
else return "nil" end