gsub
Definition
-- @/=[C]:-1
function gsub(...)
Callers
@/lua/ge/extensions/scenario/busdriver.lua
end
local hex = hex:gsub("#","")
if hex:len() == 3 then
@/lua/ge/extensions/core/vehicle/partmgmt.lua
data.linkedPCFile = nil
data.model = vehicleData.model or vehicleData.vehicleDirectory:gsub("vehicles/", ""):gsub("/", "")
data.partsCondition = partsCondition
data.linkedPCFile = nil
data.model = vehicleData.model or vehicleData.vehicleDirectory:gsub("vehicles/", ""):gsub("/", "")
data.partsCondition = partsCondition
data.format = 2
data.model = playerVehicleData.model or playerVehicleData.vehicleDirectory:gsub("vehicles/", ""):gsub("/", "")
data.partsCondition = partsCondition
data.format = 2
data.model = playerVehicleData.model or playerVehicleData.vehicleDirectory:gsub("vehicles/", ""):gsub("/", "")
data.partsCondition = partsCondition
local configWithoutFilename = string.sub(filename, #(playerVehicleData.vehicleDirectory or "") + 1)
configWithoutFilename = configWithoutFilename:gsub("%.pc$", "")
ui_vehicleSelector_general.trackRecentVehicle(data.model, configWithoutFilename)
@/lua/common/libs/lunajson/lunajson/sax.lua
fixedtonumber = function(s)
return tonumber(gsub(s, '.', radixmark))
end
-- check the last for this purpose.
str = gsub(str, '\\(.)([^\\]?[^\\]?[^\\]?[^\\]?[^\\]?)', f_str_subst)
if f_str_surrogate_prev ~= 0 then
@/lua/ge/extensions/core/settings/graphic.lua
if a.gpu == graphicInformation.gpu and a.gfx == graphicInformation.api then
local left, top, width, height = GFXDevice.getDisplayRegion(a.output:gsub("/","\\"))
local hertz = GFXDevice.getDisplayRefreshRate(a.output:gsub("/","\\"))
local left, top, width, height = GFXDevice.getDisplayRegion(a.output:gsub("/","\\"))
local hertz = GFXDevice.getDisplayRefreshRate(a.output:gsub("/","\\"))
a.output = a.output:gsub("\\","/")
local hertz = GFXDevice.getDisplayRefreshRate(a.output:gsub("/","\\"))
a.output = a.output:gsub("\\","/")
table.insert(graphicInformation.outputs, {monitorName = a.monitor, output = a.output, region = {left = left, top = top, width = width, height = height}, refreshRate = hertz })
SelectHighestForDisplay = function (displayName)
local displayResolution = GFXDevice.getDisplayDesktopResolution(displayName:gsub("/","\\"))
o.GraphicDisplayResolutions.width = displayResolution.width or 1280
local videoModeList = GFXDevice.getDisplayVideoModes(o.GraphicDisplayDriver.get():gsub("/","\\"))
table.sort(videoModeList, function(a, b)
local resolutionWidth, resolutionHeight = o.GraphicDisplayResolutions.getWidthHeight()
local videoModeList = GFXDevice.getDisplayVideoModes(o.GraphicDisplayDriver.get():gsub("/","\\"))
for k, vm in ipairs(videoModeList) do
return o.GraphicDisplayDriver.adapter.output:gsub("\\","/")
end,
set = function ( value )
value = value and value:gsub("/","\\") or ""
local adapters = GFXInit.getAdapters()
if a.gpu == currentGPU and a.gfx == currentGFX then
a.output = a.output:gsub("\\","/")
table.insert(keys, a.output)
if a.gpu == newGPU then
a.output = a.output:gsub("/","\\")
GFXDevice.setDisplayDevice(newGPU)
local displayDriver = graphicsOptions.GraphicDisplayDriver.get()
displayDriver = displayDriver:gsub("/","\\")
GFXDevice.setDisplayDevice(displayDriver)
@/lua/ge/extensions/gameplay/rally/util/normalizer.lua
local from, to = mapping[1], mapping[2]
newnote, count = newnote:gsub(from, to)
-- note = note:gsub(from, to)
newnote, count = newnote:gsub(from, to)
-- note = note:gsub(from, to)
end
@/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 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/ge/extensions/core/vehicleTriggers.lua
if im.SmallButton('-1##z'..tostring(evt.cid)..'_'..tostring(vehId)) then
local cmdStr = evt.onChange:gsub("VALUE", tostring(-1))
print('-1 - '..cmdStr)
if im.SmallButton('0##z'..tostring(evt.cid)..'_'..tostring(vehId)) then
local cmdStr = evt.onChange:gsub("VALUE", tostring(0))
print('0 - '..cmdStr)
if im.SmallButton('1##o'..tostring(evt.cid)..'_'..tostring(vehId)) then
local cmdStr = evt.onChange:gsub("VALUE", tostring(1))
print('1 - '..cmdStr)
@/lua/ge/extensions/util/compileMeshes.lua
local customCompilePathsArg = cmdArgs[i + 1]
customCompilePathsArg = customCompilePathsArg:gsub("\"", "")
compilePaths = stringToTable(customCompilePathsArg, ';')
@/lua/ge/extensions/campaign/exploration.lua
for _,prefabPath in ipairs(triggers) do
local prefabName = string.gsub(prefabPath, "(.*/)(.*)%.prefab", "%2")
log('A', logTag, 'Spawning: '..prefabPath..' with name: '..prefabName)
@/lua/ge/extensions/core/levels.lua
local dirname, filename, ext = path.split(l.fullfilename)
filename = string.gsub(filename, "%.mis$", "")
l.entryPoint = string.gsub(filename, "%.level.json$", "")
filename = string.gsub(filename, "%.mis$", "")
l.entryPoint = string.gsub(filename, "%.level.json$", "")
if string.find(missionFile, ".mis$") then
newMission = string.gsub(missionFile, ".mis$", ".level.json")
@/lua/ge/extensions/tech/pythonExport.lua
local lineStart = #buffer
buffer:put(sensorName:gsub('[%[%] ]+', '_'):rstripchars('_'):lower())
buffer:put(" = ")
@/lua/ge/extensions/editor/dynamicDecals/helper.lua
local function splitAndCapitalizeCamelCase(str)
return str:gsub("%u%l+", function(match)
return " " .. match
return " " .. match
end):gsub("(%w)(%w*)", function(first, rest)
return first:upper() .. rest:lower()
local function capitalizeWords(str)
return str:gsub("(%w)(%w*)", function(first, rest)
return first:upper() .. rest:lower()
@/lua/vehicle/controller/esc.lua
local entry = {
title = "ui.radialmenu2.ESC." .. v.name:gsub(" ", "_"),
icon = "radial_" .. string.lower(v.name:gsub(" ", "_")),
title = "ui.radialmenu2.ESC." .. v.name:gsub(" ", "_"),
icon = "radial_" .. string.lower(v.name:gsub(" ", "_")),
originalActionInfo = {level = "/root/playerVehicle/vehicleFeatures/", uniqueID = "escMode"},
@/lua/ge/extensions/editor/trafficSignalsEditor.lua
if instance.id ~= otherInstance.id and string.startswith(otherInstance.name, name) then
local num = string.gsub(otherInstance.name, name, "")
idx = math.max(idx, tonumber(num) or idx) -- finds the highest number out of all instances with the same prefix
@/lua/ge/extensions/career/modules/branches/landing.lua
local new_number = number + addedValue
local oValue = color:gsub("(%d+)", tostring(new_number))
return oValue
@/lua/ge/extensions/ui/vehicleSelector/vehicleSpecifications.lua
elseif configDetails.Drivetrain and type(configDetails.Drivetrain) == 'string' and string.find(configDetails.Drivetrain, "x") then
table.insert(iconTags, {iconText = string.gsub(configDetails.Drivetrain, "x", "×"), label = "Drivetrain: "..string.gsub(configDetails.Drivetrain, "x", "×")})
end
elseif configDetails.Drivetrain and type(configDetails.Drivetrain) == 'string' and string.find(configDetails.Drivetrain, "x") then
table.insert(iconTags, {iconText = string.gsub(configDetails.Drivetrain, "x", "×"), label = "Drivetrain: "..string.gsub(configDetails.Drivetrain, "x", "×")})
end
@/lua/ge/extensions/editor/api/core.lua
local newFilename = v
newFilename = newFilename:gsub(srcPath, dstPath)
FS:copyFile(v, newFilename)
local filesAndFolders = FS:findFiles(srcPath, "*.*", -1, true, true)
local srcLevelName = srcPath:gsub("levels/", "")
local levelName = dstPath:gsub("levels/", "")
local srcLevelName = srcPath:gsub("levels/", "")
local levelName = dstPath:gsub("levels/", "")
srcLevelName = srcLevelName:gsub("/", "")
levelName = levelName:gsub("/", "")
srcLevelName = srcLevelName:gsub("/", "")
levelName = levelName:gsub("/", "")
newFilename = newFilename:gsub(srcPath, dstPath)
FS:copyFile(v, newFilename)
local content = readFile(newFilename)
content = content:gsub(srcLevelName, levelName)
writeFile(newFilename, content)
if newFilename:find(srcLevelName) then
local finalFilename = newFilename:gsub(srcLevelName, levelName)
FS:renameFile(newFilename, finalFilename)
@/lua/common/libs/luasocket/socket/http.lua
if err then return nil, err end
local size = base.tonumber(string.gsub(line, ";.*", ""), 16)
if not size then return nil, "invalid chunk size" end
return headers.location and
string.gsub(headers.location, "%s", "") ~= "" and
(reqt.redirect ~= false) and
@/lua/ge/extensions/editor/dragRaceEditor/dragSettings.lua
table.insert(possibleLevelNames, levelName:lower())
local underscoreName = levelName:gsub(" ", "_")
table.insert(possibleLevelNames, underscoreName)
@/lua/ge/extensions/gameplay/rally/notebook/path.lua
self.name = data.name or ""
self.description = string.gsub(data.description or "", "\\n", "\n")
self.authors = data.authors or ""
@/lua/ge/extensions/editor/api/dynamicDecals.lua
end
return (s:gsub("[A-Z]", split):gsub("^.", string.upper))
end
end
return (s:gsub("[A-Z]", split):gsub("^.", string.upper))
end
if layerTypeString == "" then
name = name:gsub("{[^}]*@type[^{]*}", layerTypeString, 1)
else
local newString = groupA .. layerTypeString .. groupC
name = name:gsub("{[^}]*@type[^{]*}", newString, 1)
end
end
name = name:gsub('@type', layerTypeString)
if colorMapTextureString == "" then
name = name:gsub("{[^}]*@colormap[^{]*}", colorMapTextureString, 1)
else
local newString = groupA .. colorMapTextureString .. groupC
name = name:gsub("{[^}]*@colormap[^{]*}", newString, 1)
end
end
name = name:gsub('@colormap', colorMapTextureString)
if normalMapTextureString == "" then
name = name:gsub("{[^}]*@normalmap[^{]*}", normalMapTextureString, 1)
else
local newString = groupA .. normalMapTextureString .. groupC
name = name:gsub("{[^}]*@normalmap[^{]*}", newString, 1)
end
end
name = name:gsub('@normalmap', normalMapTextureString)
if metallicMapTextureString == "" then
name = name:gsub("{[^}]*@metallicmap[^{]*}", metallicMapTextureString, 1)
else
local newString = groupA .. metallicMapTextureString .. groupC
name = name:gsub("{[^}]*@metallicmap[^{]*}", newString, 1)
end
end
name = name:gsub('@metallicmap', metallicMapTextureString)
if roughnessMapTextureString == "" then
name = name:gsub("{[^}]*@roughnessmap[^{]*}", roughnessMapTextureString, 1)
else
local newString = groupA .. roughnessMapTextureString .. groupC
name = name:gsub("{[^}]*@roughnessmap[^{]*}", newString, 1)
end
end
name = name:gsub('@roughnessmap', roughnessMapTextureString)
if alphaMapTextureString == "" then
name = name:gsub("{[^}]*@alphamap[^{]*}", alphaMapTextureString, 1)
else
local newString = groupA .. alphaMapTextureString .. groupC
name = name:gsub("{[^}]*@alphamap[^{]*}", newString, 1)
end
end
name = name:gsub('@alphamap', alphaMapTextureString)
if layer.uid == "" then
name = name:gsub("{[^}]*@uid[^{]*}", layer.uid, 1)
else
local newString = groupA .. layer.uid .. groupC
name = name:gsub("{[^}]*@uid[^{]*}", newString, 1)
end
end
name = name:gsub('@uid', layerData.uid)
@/lua/vehicle/extensions/telemetryLogger.lua
if string.find(s, '[,"]') then
s = '"' .. string.gsub(s, '"', '""') .. '"'
end
@/lua/ge/extensions/editor/tech/roadArchitect/import.lua
local arg = {}
string.gsub(s, "([%-%w]+)=([\"'])(.-)%2", function (w, _, a) arg[w] = a end)
return arg
@/lua/ge/extensions/campaign/campaignsLoader.lua
local campaign = jsonReadFile(campaignfile)
campaign.sourceFile = string.gsub(campaignfile, "(.*:)(.*)", "%2")
campaign.sourcePath = string.gsub(campaignfile, "(.*)/(.*)", "%1")
campaign.sourceFile = string.gsub(campaignfile, "(.*:)(.*)", "%2")
campaign.sourcePath = string.gsub(campaignfile, "(.*)/(.*)", "%1")
campaign.official = isOfficialContentVPath(campaign.sourcePath)
@/lua/ge/extensions/core/vehicles.lua
local tmpfn = function() return fn[random(1, #fn)] end --return one random for each use instead of same
strtmp = string.gsub(strtmp, "%%"..k, tmpfn)
else
else
strtmp = string.gsub(strtmp, "%%"..k, fn)
end
end
strtmp = string.gsub(strtmp, "%%%%", "%%")
return strtmp
-- return string.gsub(designData.gen.pattern, "%%([^%%])", designData.gen.patternData)
end
txt = OnlineServiceProvider.playerName
txt = txt:gsub('"', "'") -- replace " with '
-- more cleaning up required?
@/lua/ge/extensions/core/multiseat.lua
end
if logEnabled and players > 1 then log((players>1) and "I" or "D", "", "Assigned players: "..dumps(result):gsub("\n", ""):gsub(" ", " ")) end
end
if logEnabled and players > 1 then log((players>1) and "I" or "D", "", "Assigned players: "..dumps(result):gsub("\n", ""):gsub(" ", " ")) end
@/lua/ge/extensions/core/quickAccess.lua
-- Replace underscores with spaces
local niceName = str:gsub("_", " ")
-- Add space before each capital letter except the first one
niceName = niceName:gsub("(%l)(%u)", "%1 %2")
-- Capitalize the first letter of each word
niceName = niceName:gsub("(%a)(%w*)", function(first, rest)
return first:upper() .. rest:lower()
-- remove the last level from path to get parent path
local parentPath = path:gsub("/[^/]+/$", "/")
local menuItems = menuTreeCopy[parentPath]
@/lua/ge/extensions/editor/gen/world.lua
local jdata = jsonEncode(apart)
jdata = jdata:gsub('},{', '}\r\n{')
lo('?? for_file:'..fname) --..':'..tostring(#data)..':'..#v..':'..jdata)
local jdata = jsonEncode(list)
jdata = jdata:gsub('},{', '}\r\n{')
outputFile:write(string.sub(jdata, 2, #jdata-1))
local jdata = jsonEncode(jlist)
jdata = jdata:gsub('},{', '}\r\n{')
local outputFile = io.open(dname..fname, "w")
@/lua/ge/extensions/editor/flowgraphEditor.lua
local time = os.time(os.date("!*t"))
jsonWriteFile(autoSaveDir .. time.."_"..mgr.name:gsub('%W','_')..".flow.json", data, true, 20)
log("I","autosave","Autosaved flowgraph under " .. autoSaveDir .. time.."_"..mgr.name..".flow.json")
--TODO(AK) 20/06/2019: Is there a better way of extracting this filename without messing with LUA string parsing
mgr.name = string.gsub(mgr.savedFilename, "(.*)%.flow.json", "%1")
end
@/lua/common/libs/xlsxlib/tests/TestManager.lua
local func = tests[name]
local displayName = string.format("%-60s", name:gsub('_shouldFail$', ''))
@/lua/ge/extensions/gameplay/race/path.lua
self.name = data.name or ""
self.description = string.gsub(data.description or "", "\\n", "\n")
self.authors = data.authors or "Anonymous"
@/lua/ge/extensions/editor/assetBrowser.lua
local rootPath = string.gsub(root.path, "//", "/")
local filepath = string.match(string.lower(path), string.lower(rootPath) .."(.+)")
@/lua/ge/extensions/ui/bindingsLegend.lua
local function getModifiersFromControl(control)
local normalizedControl = string.gsub(control, "%-", " ")
local controlParts = string.split(normalizedControl)
@/lua/ge/extensions/gameplay/rally/util.lua
-- Replace everything but letters and numbers with '_'
name = string.gsub(name, "[^a-zA-Z0-9]", "_")
-- Replace multiple consecutive '_' with a single '_'
name = string.gsub(name, "(_+)", "_")
if not txt then return txt end
local trimmed = string.gsub(txt, "^%s*(.-)%s*$", "%1")
return trimmed
-- Escape special characters in Lua patterns except '*'
searchPattern = searchPattern:gsub("([%^%$%(%)%%%.%[%]%+%-%?])", "%%%1")
-- Replace '*' with Lua's '.*' to act as a wildcard
-- Replace '*' with Lua's '.*' to act as a wildcard
searchPattern = searchPattern:gsub("%*", ".*")
@/lua/ge/extensions/editor/resourceChecker.lua
if res and not FS:fileExists(res) and string.endswith(res, ".png" ) then
res = string.gsub(res, ".png", ".dds")
end
jsonWriteFile(path, data, true)
local addText = "//"..text:gsub('\n','').."\n"
local f = io.open(path, "r")
@/lua/common/particles.lua
-- expression
s = v[kc]:gsub("X", "arg."..kc)
end
@/lua/vehicle/extensions/profiling/p.lua
key_stack = profile.dumpstack(th, prof_fmt, prof_depth)
key_stack = key_stack:gsub("%[builtin#(%d+)%]", function(x)
return vmdef.ffnames[tonumber(x)]
local interval = ""
mode = mode:gsub("i%d*", function(s) interval = s; return "" end)
prof_min = 3
prof_min = 3
mode = mode:gsub("m(%d+)", function(s) prof_min = tonumber(s); return "" end)
prof_depth = 1
prof_depth = 1
mode = mode:gsub("%-?%d+", function(s) prof_depth = tonumber(s); return "" end)
local m = {}
@/lua/ge/extensions/editor/gen/exp_meshexplorer.lua
local function dec(data)
data = string.gsub(data, '[^'..b..'=]', '')
return (data:gsub('.', function(x)
data = string.gsub(data, '[^'..b..'=]', '')
return (data:gsub('.', function(x)
if (x == '=') then return '' end
return r;
end):gsub('%d%d%d?%d?%d?%d?%d?%d?', function(x)
if (#x ~= 8) then return '' end
@/lua/ge/extensions/editor/dynamicDecals/camera.lua
for name, val in pairs(presets) do
if im.Button(string.format("%s##%s_%s", name:gsub("^%l", string.upper), "Generate Materials", guiId), im.ImVec2(im.GetContentRegionAvailWidth(), 0)) then
setCamera(vec3(val[1], val[2], val[3]))
@/lua/ge/extensions/editor/flowgraph/missionVariableHelper.lua
local function normalizePath(p)
p = string.gsub(p, "\\", "/")
p = string.gsub(p, "^/+", "")
p = string.gsub(p, "\\", "/")
p = string.gsub(p, "^/+", "")
return string.lower(p)
@/lua/ge/extensions/core/cameraModes/driver.lua
if type(vehConfigs) ~= "string" then vehConfigs = "{}" end
vehConfigs = vehConfigs:gsub("'",'"') -- fix INI values that passed through javascript (e.g. when opening Options menu)
vehConfigs = jsonDecode(vehConfigs) -- and then deserialize, so we can follow the user settings
if type(vehConfigs) ~= "string" then vehConfigs = "{}" end
vehConfigs = vehConfigs:gsub("'",'"') -- fix INI values that passed through javascript (e.g. when opening Options menu)
vehConfigs = jsonDecode(vehConfigs) -- and then deserialize, so we can follow the user settings
@/lua/common/luaProfiler.lua
while decimalSeparator do
result, k = string.gsub(result, "^(-?%d+)(%d%d%d)", '%1,%2')
if k == 0 then break end
@/lua/common/jbeam/sections/meshs.lua
elseif type(v) == 'string' and string.len(v) > 7 and v:sub(1,1) == '#' then
v = v:gsub("#","")
return ColorF(tonumber("0x"..v:sub(1,2)) / 255, tonumber("0x"..v:sub(3,4)) / 255, tonumber("0x"..v:sub(5,6)) / 255, tonumber("0x"..v:sub(7,8)) / 255)
@/lua/ge/extensions/gameplay/drag/general.lua
table.insert(row, {
text = (tab[i][1]):gsub("%.+$", "")
})
@/lua/ge/extensions/flowgraph/manager.lua
name = self.name,
description = string.gsub(self.description, "\n", "\\n"),
authors = self.authors,
self.name = data.name or self.name
self.description = string.gsub(data.description or "", "\\n", "\n") or self.description
self.authors = data.authors or self.authors
@/lua/ge/extensions/freeroam/freeroamConfigurator.lua
-- Get relative path from configuratorOptions folder and convert to extension name format
local relativePath = string.gsub(filePath, 'lua/ge/extensions/freeroam/configuratorOptions/', '')
relativePath = string.gsub(relativePath, '^/', '') -- remove leading slash
local relativePath = string.gsub(filePath, 'lua/ge/extensions/freeroam/configuratorOptions/', '')
relativePath = string.gsub(relativePath, '^/', '') -- remove leading slash
local nameWithoutExt = string.gsub(relativePath, '%.lua$', '')
relativePath = string.gsub(relativePath, '^/', '') -- remove leading slash
local nameWithoutExt = string.gsub(relativePath, '%.lua$', '')
local generatorName = string.gsub(nameWithoutExt, '/', '_')
local nameWithoutExt = string.gsub(relativePath, '%.lua$', '')
local generatorName = string.gsub(nameWithoutExt, '/', '_')
@/lua/ge/extensions/gameplay/sites/sites.lua
self.name = data.name or ""
self.description = string.gsub(data.description or "", "\\n", "\n")
self.locations:clear()
@/lua/ge/extensions/editor/fileDialog.lua
if currentPath:sub(-1) ~= "/" then currentPath = currentPath.."/" end
currentPath = currentPath:gsub("/+", "/") -- Reducing multiple slashes to avoid trimmed list names
currentFolderStat = FS:stat(currentPath)
if suffixType == 'string' then
pattern = options.suffix[fileTypeSelected][2]:gsub("%.","%%.")
elseif suffixType == 'table' then
for k, ext in ipairs(options.suffix[fileTypeSelected][2]) do
local p ,_ = ext:gsub("%.","%%.")
table.insert(pattern, p)
s.name = string.sub(fn, pathLen)
s.name = string.gsub(s.name, "/(.*)", "%1") -- strip leading /
validName = true
@/lua/ge/extensions/career/modules/logbook.lua
M.logbookEntry = function(id)
M.genericInfoUnlocked("ui.introPopup."..id..".title", readFile("/ui/modules/careerLogbook/pages/"..id.."/content.html"):gsub("\r\n",""), "/ui/modules/careerLogbook/pages/"..id.."/header.jpg")
end
@/lua/common/libs/inspect/inspect.lua
end
return '"' .. str:gsub('"', '\\"') .. '"'
end
local function escape(str)
return (str:gsub("\\", "\\\\")
:gsub("(%c)%f[0-9]", longControlCharEscapes)
return (str:gsub("\\", "\\\\")
:gsub("(%c)%f[0-9]", longControlCharEscapes)
:gsub("%c", shortControlCharEscapes))
:gsub("(%c)%f[0-9]", longControlCharEscapes)
:gsub("%c", shortControlCharEscapes))
end
@/lua/ge/extensions/core/settings/settings.lua
if data.userColorPresets then
data.userColorPresets = data.userColorPresets:gsub("'", '"') -- replace ' with "
local ok, userColorPresets = pcall(json.decode, data.userColorPresets)
@/lua/ge/extensions/editor/particleEditor.lua
local function cleanTabs(str)
str = string.gsub(str, "\t+", "\t")
str = string.gsub(str, "\t$", "")
str = string.gsub(str, "\t+", "\t")
str = string.gsub(str, "\t$", "")
return string.gsub(str, "^\t", "")
str = string.gsub(str, "\t$", "")
return string.gsub(str, "^\t", "")
end
local particles = emitter:getField("particles","")
particles = string.gsub(particles, particle:getName(), "")
particles = cleanTabs(particles)
@/lua/ge/extensions/career/career.lua
extensions.luaPathToExtName(modulePath)
local extensionFile = string.gsub(files[i], "/lua/ge/extensions/", "")
extensionFile = string.gsub(extensionFile, ".lua", "")
local extensionFile = string.gsub(files[i], "/lua/ge/extensions/", "")
extensionFile = string.gsub(extensionFile, ".lua", "")
--if not string.find(extensionFile, "delivery") then
@/lua/ge/extensions/util/docCreator.lua
log('I', '', 'Processing language: ' .. tostring(lang))
local langFilename = lang:gsub('-', '_')
changeLanguage(lang)
name = string.sub(name, string.len(info.vendorName) + 1)
name = name:gsub("^%s+", "") -- strip whitespaces
name = name:gsub("^-+", "") -- remove '-' prefix, for exampe for "PXN-V12" name
name = name:gsub("^%s+", "") -- strip whitespaces
name = name:gsub("^-+", "") -- remove '-' prefix, for exampe for "PXN-V12" name
end
@/lua/ge/extensions/util/compileImposters.lua
local function escapePattern(x)
return (x:gsub('%%', '%%%%')
:gsub('^%^', '%%^')
return (x:gsub('%%', '%%%%')
:gsub('^%^', '%%^')
:gsub('%$$', '%%$')
:gsub('^%^', '%%^')
:gsub('%$$', '%%$')
:gsub('%(', '%%(')
:gsub('%$$', '%%$')
:gsub('%(', '%%(')
:gsub('%)', '%%)')
:gsub('%(', '%%(')
:gsub('%)', '%%)')
:gsub('%.', '%%.')
:gsub('%)', '%%)')
:gsub('%.', '%%.')
:gsub('%[', '%%[')
:gsub('%.', '%%.')
:gsub('%[', '%%[')
:gsub('%]', '%%]')
:gsub('%[', '%%[')
:gsub('%]', '%%]')
:gsub('%*', '%%*')
:gsub('%]', '%%]')
:gsub('%*', '%%*')
:gsub('%+', '%%+')
:gsub('%*', '%%*')
:gsub('%+', '%%+')
:gsub('%-', '%%-')
:gsub('%+', '%%+')
:gsub('%-', '%%-')
:gsub('%?', '%%?'))
:gsub('%-', '%%-')
:gsub('%?', '%%?'))
end
@/lua/ge/extensions/editor/autoSave.lua
path = folders[i],
displayPath = string.gsub(folders[i], "/settings/editor/autosaves/", ""),
datetime = os.date("%x %X", FS:stat(folders[i]).modtime)
@/lua/vehicle/extensions/dynoClient.lua
local function sendData(textureName, jsFunc, data, objId)
local js = jsonEncode(data):gsub('%"', '%\\\'') -- replace " with \'
local l = "getObjectByID("..objId.."):queueJSUITexture('"..textureName.."', '"..jsFunc.."(" .. js .. ");')"
@/lua/common/testFramework/TestManager.lua
local func = tests[name]
local displayName = string.format("%-60s", name:gsub('_shouldFail$', ''))
@/lua/ge/extensions/flowgraph/nodes/util/getLevelData.lua
local dir, _, _ = path.split(levelPath)
local devName = string.gsub(dir, "(.*/)(.*)/", "%2")
@/lua/common/utils/simpleHttpServer.lua
-- pseudosecurity
req.uri.path = req.uri.path:gsub("\\.\\.", '') -- replace any '..' with ''
req.uri.path = req.uri.path:gsub("//", '/') -- replace any '//' with '/'
req.uri.path = req.uri.path:gsub("\\.\\.", '') -- replace any '..' with ''
req.uri.path = req.uri.path:gsub("//", '/') -- replace any '//' with '/'
@/lua/common/devUtils.lua
local parent = tostring(t):gsub('[^a-zA-Z0-9]', '')
local res = ''
local newPath = path .. '_' .. tostring(v)
newPath = newPath:gsub('[^a-zA-Z0-9]', '_')
res = res .. path .. ' -> ' .. newPath .. ';\n'
@/lua/ge/extensions/core/input/actions.lua
local function _replaceCmd(cmd, actionValue, vehicleId)
cmd = cmd:gsub("VALUE", tostring(actionValue))
cmd = cmd:gsub("VEHICLEID", tostring(vehicleId))
cmd = cmd:gsub("VALUE", tostring(actionValue))
cmd = cmd:gsub("VEHICLEID", tostring(vehicleId))
-- TODO: improve hardcoded filter, etc
-- TODO: improve hardcoded filter, etc
cmd = cmd:gsub("FILTERTYPE", '-1')
cmd = cmd:gsub("PLAYER", '0')
cmd = cmd:gsub("FILTERTYPE", '-1')
cmd = cmd:gsub("PLAYER", '0')
cmd = cmd:gsub("ANGLE", '900')
cmd = cmd:gsub("PLAYER", '0')
cmd = cmd:gsub("ANGLE", '900')
cmd = cmd:gsub("LOCKTYPE", '0')
cmd = cmd:gsub("ANGLE", '900')
cmd = cmd:gsub("LOCKTYPE", '0')
return cmd
@/lua/ge/extensions/flowgraph/nodes/vehicle/special/vehicleAction.lua
function C:formatCommand(cmd)
local c = cmd:gsub("VALUE",tostring(self.pinIn.val.value or 0))
c = c:gsub("FILTERTYPE",tostring(self.pinIn.inputFilter.value or 0))
local c = cmd:gsub("VALUE",tostring(self.pinIn.val.value or 0))
c = c:gsub("FILTERTYPE",tostring(self.pinIn.inputFilter.value or 0))
c = c:gsub("ANGLE",tostring(self.pinIn.angle.value or 0))
c = c:gsub("FILTERTYPE",tostring(self.pinIn.inputFilter.value or 0))
c = c:gsub("ANGLE",tostring(self.pinIn.angle.value or 0))
return c
@/lua/ge/extensions/core/repository.lua
--delete mods outside repo folder
local modname = filename:gsub(".zip",""):lower()
local prevInfo = core_modmanager.getModDB(modname)
end
data.data.message = data.data.message:gsub("\\\\", "\\"):gsub("\\/", "/")
end
end
data.data.message = data.data.message:gsub("\\\\", "\\"):gsub("\\/", "/")
end
end
request.responseData.data.message = string.gsub(request.responseData.data.message, "\n", "
")
request.responseData.data.pending = idInUpdateQueue(mod_id)
if data.reason == "subscription" then
data.modname = data.filename:gsub(".zip","")
data.update = true --we don't need to check it's new
if(v:find(".zip") ~= nil) then
mname = v:gsub(".zip", "")
else
@/lua/common/libs/LuLPeg/lulpeg.lua
end
end]=]):gsub("XXXX", v), v.." compiler")(compile, expose, type, LL)
end
end
end]=]):gsub("XXXX", v), v.." compiler")(expose)
end
return true, nsi, ci
end]=]):gsub("__C0__", tostring(pt.aux)))(s_byte, ("").char)
end
if not LL_ispattern(v) then
error(("rule 'A' is not a pattern"):gsub("A", tostring(k)))
end
if #state.grammars == 0 then
error(("rule 'XXXX' used outside a grammar"):gsub("XXXX", tostring(name)))
elseif not state.grammars[#state.grammars][name] then
elseif not state.grammars[#state.grammars][name] then
error(("rule 'XXXX' undefined in given grammar"):gsub("XXXX", tostring(name)))
end
names[#names + 1] = m
chunks[ #names ] = choice_tpl:gsub("XXXX", m)
end
names[#names + 1] = m
chunks[ #names ] = sequence_tpl:gsub("XXXX", m)
end
end
local function gsub (s, p, rep)
local g = gmem[p] or {} -- ensure gmem[p] is not collected while here
ci, refs, n = div_str_cap_refs(caps, ci)
vals[vi] = the_string:gsub("%%([%d%%])", function (d)
if d == "%" then return "%" end
function escape( str )
return str:gsub("%c", escape_index)
end
end
]==]):gsub("XXXX", v), k.." printer")(k, map, t_concat, s_char, escape, set_repr)
end
end
]]):gsub("XXXX", v), k.." printer")(map, LL_pprint, type, s, u, flatten)
end
@/lua/ge/extensions/gameplay/statistic.lua
if dir ~= nil then
return string.lower(string.gsub(dir, "/levels/(.*)/", "%1"))
end
activityType = "scenario"
activityDetail = "/fg"..missionId:sub(levelFolder:len()+1):gsub("/","@")
elseif scenario_scenarios and scenario_scenarios.getScenario() then
@/lua/ge/extensions/editor/shapeEditor.lua
local path,filename,ext = path.split(meshFile)
filename = filename:gsub(ext,"cs")
local mcf = path .. filename
local filenameNoExt = filename:match( "(.+)."..ext.."*$" )
filename = filename:gsub(ext,"cs")
local mcf = path .. filename
@/lua/ge/extensions/core/replay.lua
for i,file in ipairs(FS:findFiles('replays', '*.rpl', 1, false, false)) do
file = string.gsub(file, "/(.*)", "%1") -- strip leading /
table.insert(result, {filename=file, size=FS:fileSize(file)})
guihooks.trigger("toastrMsg", {type=level, title="Replay "..level, msg=msg, context=context})
log(string.gsub(level, "^(.).*", string.upper), "", "Replay msg: "..dumps(level, msg, context))
end
@/lua/common/libs/luasocket/socket/ftp.lua
local ph = (port - pl)/256
local arg = string.gsub(string.format("%s,%d,%d", ip, ph, pl), "%.", ",")
self.try(self.tp:command("port", arg))
local argument = sendt.argument or
url.unescape(string.gsub(sendt.path or "", "^[/\\]", ""))
if argument == "" then argument = nil end
local argument = recvt.argument or
url.unescape(string.gsub(recvt.path or "", "^[/\\]", ""))
if argument == "" then argument = nil end
@/lua/common/libs/luasocket/socket/mbox.lua
local message = {}
message_s = string.gsub(message_s, "\r\n", "\n")
string.gsub(message_s, "^(.-\n)\n", function (h) message.headers = h end)
message_s = string.gsub(message_s, "\r\n", "\n")
string.gsub(message_s, "^(.-\n)\n", function (h) message.headers = h end)
string.gsub(message_s, "^.-\n\n(.*)", function (b) message.body = b end)
string.gsub(message_s, "^(.-\n)\n", function (h) message.headers = h end)
string.gsub(message_s, "^.-\n\n(.*)", function (b) message.body = b end)
if not message.body then
if not message.body then
string.gsub(message_s, "^\n(.*)", function (b) message.body = b end)
end
local headers = {}
headers_s = string.gsub(headers_s, "\r\n", "\n")
headers_s = string.gsub(headers_s, "\n[ ]+", " ")
headers_s = string.gsub(headers_s, "\r\n", "\n")
headers_s = string.gsub(headers_s, "\n[ ]+", " ")
string.gsub("\n" .. headers_s, "\n([^\n]+)", function (h) table.insert(headers, h) end)
headers_s = string.gsub(headers_s, "\n[ ]+", " ")
string.gsub("\n" .. headers_s, "\n([^\n]+)", function (h) table.insert(headers, h) end)
return headers
function _M.parse_header(header_s)
header_s = string.gsub(header_s, "\n[ ]+", " ")
header_s = string.gsub(header_s, "\n+", "")
header_s = string.gsub(header_s, "\n[ ]+", " ")
header_s = string.gsub(header_s, "\n+", "")
local _, __, name, value = string.find(header_s, "([^%s:]-):%s*(.*)")
if name == "" then name = address end
name = string.gsub(name, '"', "")
return name, address
mbox = {}
mbox_s = string.gsub(mbox_s, "\r\n", "\n") .."\n\nFrom \n"
local nj, i, j = 1, 1, 1
@/lua/common/libs/lua-MessagePack/MessagePack.lua
local function hexadump(s)
return (s:gsub('.', function (c) return format('%02X ', c:byte()) end))
end
@/lua/ge/extensions/core/input/bindings.lua
if binding == nil then return dumps(binding) end
return dumps(cleanBindingDefaults(deepcopy(binding))):gsub("\n", " "):gsub(" +", " ")
end
if binding == nil then return dumps(binding) end
return dumps(cleanBindingDefaults(deepcopy(binding))):gsub("\n", " "):gsub(" +", " ")
end
@/lua/common/utils.lua
elseif type(v) == 'string' and string.len(v) > 7 and v:sub(1,1) == '#' then
v = v:gsub("#","")
return color(tonumber("0x"..v:sub(1,2)), tonumber("0x"..v:sub(3,4)), tonumber("0x"..v:sub(5,6)), tonumber("0x"..v:sub(7,8)))
function string.rstripchars(String, chrs)
return String:gsub("["..chrs.."]$", '')
end
function string.stripchars(String, chrs)
return String:gsub("["..chrs.."]", '')
end
function string.sentenceCase(str)
local result = str:gsub("([A-Z])", " %1")
return string.upper(result:sub(1, 1)) .. result:sub(2)
local d = os.date('*t')
res = res:gsub("{YYYY}", string.format('%04d', d.year))
res = res:gsub("{YY}", string.format('%02d', d.year - 2000))
res = res:gsub("{YYYY}", string.format('%04d', d.year))
res = res:gsub("{YY}", string.format('%02d', d.year - 2000))
res = res:gsub("{Y}", d.year)
res = res:gsub("{YY}", string.format('%02d', d.year - 2000))
res = res:gsub("{Y}", d.year)
res = res:gsub("{MM}", string.format('%02d', d.month))
res = res:gsub("{Y}", d.year)
res = res:gsub("{MM}", string.format('%02d', d.month))
res = res:gsub("{M}", d.month)
res = res:gsub("{MM}", string.format('%02d', d.month))
res = res:gsub("{M}", d.month)
res = res:gsub("{DD}", string.format('%02d', d.day))
res = res:gsub("{M}", d.month)
res = res:gsub("{DD}", string.format('%02d', d.day))
res = res:gsub("{D}", d.day)
res = res:gsub("{DD}", string.format('%02d', d.day))
res = res:gsub("{D}", d.day)
res = res:gsub("{HH}", string.format('%02d', d.hour))
res = res:gsub("{D}", d.day)
res = res:gsub("{HH}", string.format('%02d', d.hour))
res = res:gsub("{H}", d.hour)
res = res:gsub("{HH}", string.format('%02d', d.hour))
res = res:gsub("{H}", d.hour)
res = res:gsub("{mm}", string.format('%02d', d.min))
res = res:gsub("{H}", d.hour)
res = res:gsub("{mm}", string.format('%02d', d.min))
res = res:gsub("{m}", d.min)
res = res:gsub("{mm}", string.format('%02d', d.min))
res = res:gsub("{m}", d.min)
res = res:gsub("{ss}", string.format('%02d', d.sec))
res = res:gsub("{m}", d.min)
res = res:gsub("{ss}", string.format('%02d', d.sec))
res = res:gsub("{s}", d.sec)
res = res:gsub("{ss}", string.format('%02d', d.sec))
res = res:gsub("{s}", d.sec)
return res
if c < 32 or c == 34 or c == 92 then
return ( s:gsub("\\", "\\\\"):gsub("\n", "\\n"):gsub("\t", "\\t"):gsub('"','\\"'):gsub("\r", "\\r") ) -- gsub returns 2 values, parens are needed
end
if c < 32 or c == 34 or c == 92 then
return ( s:gsub("\\", "\\\\"):gsub("\n", "\\n"):gsub("\t", "\\t"):gsub('"','\\"'):gsub("\r", "\\r") ) -- gsub returns 2 values, parens are needed
end
if c < 32 or c == 34 or c == 92 then
return ( s:gsub("\\", "\\\\"):gsub("\n", "\\n"):gsub("\t", "\\t"):gsub('"','\\"'):gsub("\r", "\\r") ) -- gsub returns 2 values, parens are needed
end
if c < 32 or c == 34 or c == 92 then
return ( s:gsub("\\", "\\\\"):gsub("\n", "\\n"):gsub("\t", "\\t"):gsub('"','\\"'):gsub("\r", "\\r") ) -- gsub returns 2 values, parens are needed
end
if c < 32 or c == 34 or c == 92 then
return ( s:gsub("\\", "\\\\"):gsub("\n", "\\n"):gsub("\t", "\\t"):gsub('"','\\"'):gsub("\r", "\\r") ) -- gsub returns 2 values, parens are needed
end
local dir, filename, ext = path.split(filepath, compositeExtension)
filename = filename:gsub('.'..ext, "")
return dir, filename, ext
if dir ~= nil then
if raw then string.gsub(dir, "/levels/(.*)/", "%1") end
return string.lower(string.gsub(dir, "/levels/(.*)/", "%1"))
if raw then string.gsub(dir, "/levels/(.*)/", "%1") end
return string.lower(string.gsub(dir, "/levels/(.*)/", "%1"))
end
@/lua/ge/extensions/gameplay/rally/tools/devTools.lua
-- im.TableNextColumn()
-- im.Text(event:gsub("%%", "%%%%"))
-- end
@/lua/common/libs/luasocket/socket/url.lua
function _M.escape(s)
return (string.gsub(s, "([^A-Za-z0-9_])", function(c)
return string.format("%%%02x", string.byte(c))
local function protect_segment(s)
return string.gsub(s, "([^A-Za-z0-9_])", function (c)
if segment_set[c] then return c
function _M.unescape(s)
return (string.gsub(s, "%%(%x%x)", function(hex)
return string.char(base.tonumber(hex, 16))
if string.sub(relative_path, 1, 1) == "/" then return relative_path end
local path = string.gsub(base_path, "[^/]*$", "")
path = path .. relative_path
path = path .. relative_path
path = string.gsub(path, "([^/]*%./)", function (s)
if s ~= "./" then return s else return "" end
end)
path = string.gsub(path, "/%.$", "/")
local reduced
reduced = path
path = string.gsub(reduced, "([^/]*/%.%./)", function (s)
if s ~= "../../" then return "" else return s end
end
path = string.gsub(reduced, "([^/]*/%.%.)$", function (s)
if s ~= "../.." then return "" else return s end
-- remove whitespace
-- url = string.gsub(url, "%s", "")
-- get fragment
-- get fragment
url = string.gsub(url, "#(.*)$", function(f)
parsed.fragment = f
-- get scheme
url = string.gsub(url, "^([%w][%w%+%-%.]*)%:",
function(s) parsed.scheme = s; return "" end)
-- get authority
url = string.gsub(url, "^//([^/]*)", function(n)
parsed.authority = n
-- get query string
url = string.gsub(url, "%?(.*)", function(q)
parsed.query = q
-- get params
url = string.gsub(url, "%;(.*)", function(p)
parsed.params = p
if not authority then return parsed end
authority = string.gsub(authority,"^([^@]*)@",
function(u) parsed.userinfo = u; return "" end)
function(u) parsed.userinfo = u; return "" end)
authority = string.gsub(authority, ":([^:%]]*)$",
function(p) parsed.port = p; return "" end)
if not userinfo then return parsed end
userinfo = string.gsub(userinfo, ":([^:]*)$",
function(p) parsed.password = p; return "" end)
if parsed.fragment then url = url .. "#" .. parsed.fragment end
-- url = string.gsub(url, "%s", "")
return url
path = path or ""
--path = string.gsub(path, "%s", "")
string.gsub(path, "([^/]+)", function (s) table.insert(parsed, s) end)
--path = string.gsub(path, "%s", "")
string.gsub(path, "([^/]+)", function (s) table.insert(parsed, s) end)
for i = 1, #parsed do
@/lua/ge/extensions/editor/missionEditor.lua
name = name:match("(.-) ") or name
name = name:gsub('%W','') or name
if string.find(s, '[,"]') then
s = '"' .. string.gsub(s, '"', '""') .. '"'
end
translationJson[elem.key] = elem.value
local _,n = elem.value:gsub("%S+","")
wordCount = wordCount + n
@/lua/common/libs/resty/template.lua
local function trim(s)
return gsub(gsub(s, "^%s+", ""), "%s+$", "")
end
local function trim(s)
return gsub(gsub(s, "^%s+", ""), "%s+$", "")
end
if type(s) == "string" then
if c then return gsub(s, "[}{\">/<'&]", CODE_ENTITIES) end
return gsub(s, "[\">/<'&]", HTML_ENTITIES)
if c then return gsub(s, "[}{\">/<'&]", CODE_ENTITIES) end
return gsub(s, "[\">/<'&]", HTML_ENTITIES)
end
@/lua/common/libs/slaxml/slaxml.lua
local entitySwap = function(orig,n,s) return entityMap[s] or n=="#" and utf8(tonumber('0'..s)) or orig end
local function unescape(str) return gsub( str, '(&(#?)([%d%a]+);)', entitySwap ) end
if options.stripWhitespace then
text = gsub(text,'^%s+','')
text = gsub(text,'%s+$','')
text = gsub(text,'^%s+','')
text = gsub(text,'%s+$','')
if #text==0 then text=nil end
@/lua/ge/extensions/editor/bulkRename.lua
-- replace %n or things like %4n with the counter
newName = newName:gsub("%%(%d*)n", function(width)
if width == "" then
-- replace %o with the old name
newName = newName:gsub("%%o", name)
@/lua/ge/extensions/telemetry/core.lua
-- Get relative path from trackers folder and convert to extension name format
local relativePath = string.gsub(filePath, 'lua/ge/extensions/telemetry/trackers/', '')
relativePath = string.gsub(relativePath, '^/', '') -- remove leading slash
local relativePath = string.gsub(filePath, 'lua/ge/extensions/telemetry/trackers/', '')
relativePath = string.gsub(relativePath, '^/', '') -- remove leading slash
local nameWithoutExt = string.gsub(relativePath, '%.lua$', '')
relativePath = string.gsub(relativePath, '^/', '') -- remove leading slash
local nameWithoutExt = string.gsub(relativePath, '%.lua$', '')
local trackerName = string.gsub(nameWithoutExt, '/', '_')
local nameWithoutExt = string.gsub(relativePath, '%.lua$', '')
local trackerName = string.gsub(nameWithoutExt, '/', '_')
@/lua/ge/extensions/trackbuilder/trackBuilder.lua
saveEnvironment = saveSettings.saveEnvironment[0],
description = string.gsub(ffi.string(saveSettings.description),"\n", "\\n"),
difficulty = 12 + 25*saveSettings.difficulty[0]
if json then
ffi.copy(saveSettings.description, string.gsub(json.description or "", "\\n", "\n"))
saveSettings.saveOnMap[0] = json.level == getCurrentLevelIdentifier()--core_levels.getLevelName(getMissionFilename())
@/lua/ge/extensions/util/export.lua
if veh then
filepath = '/temp/ceftexture_' .. filepath:gsub('@', '') .. '.png'
-- always overwrite, the file might have been a leftover from another vehicle
@/lua/ge/extensions/tech/techCore.lua
for match, translationString in name:gmatch('(%{%{\'(.+)\' | translate%}%})') do
result = result:gsub(match, translateLanguage(translationString, translationString, true))
end
if fgMgr ~= nil then
local name = string.gsub(fgMgr.savedFilename, "(.*)%.flow.json", "%1")
sourceFile = fgMgr.savedDir .. name .. '.json'
@/lua/ge/extensions/editor/assemblySpline.lua
if enabledCount >= 2 then
im.TextColored(cols.greenB, baseMesh.fileName:gsub("%.dae$", ""))
local isRoot = baseMesh.fileName and baseMesh.fileName:lower():find("root")
-- Show the mesh file name.
local headerText = baseMesh.fileName:gsub("%.dae$", "")
im.TextColored(cols.greenB, headerText)
@/lua/ge/extensions/editor/assetManagementTool.lua
local assetsOnlyFilter = table.concat(assetFileTypesTbl, "\t")
assetsOnlyFilter = assetsOnlyFilter:gsub(assetsOnlyStr .. "\t%*%.%*\t", "")
assetsOnlyFilter = assetsOnlyFilter:gsub(",", "\t")
assetsOnlyFilter = assetsOnlyFilter:gsub(assetsOnlyStr .. "\t%*%.%*\t", "")
assetsOnlyFilter = assetsOnlyFilter:gsub(",", "\t")
local function changeBasePath(path, newBasePath)
return sanitizePath(path:gsub("(.*/)(.*)", newBasePath .. "/%2"), false)
end
-- convert camelCase transitions (lowercase followed by uppercase) to lowercase with an underscore
filename = filename:gsub("([a-z])([A-Z])", "%1_%2")
filename = filename:lower()
filename = filename:lower()
filename = filename:gsub("[^a-z0-9_./]+", "_")
if assetsOnlyStr == searchFileTypesFilterStr:gsub("\t", "") then
filter = assetsOnlyFilter
local idx = searchDuplicatesFileTypesIndexPtr[0] + 1
searchFileTypesFilterStr = string.gsub(assetFileTypesTbl[idx], ",", "\t")
end
local idx = namingFileTypesIndexPtr[0] + 1
namingFileTypesFilterStr = string.gsub(assetFileTypesTbl[idx], ",", "\t")
end
@/lua/vehicle/beamstate.lua
save.format = "v2"
save.model = v.data.model --.vehicleDirectory:gsub("vehicles/", ""):gsub("/", "")
save.parts = v.userPartConfig
save.format = "v2"
save.model = v.data.model --.vehicleDirectory:gsub("vehicles/", ""):gsub("/", "")
save.parts = v.userPartConfig
@/lua/ge/extensions/flowgraph/nodes/debug/comment.lua
res.commentTitle = self.commentTitle
res.commentText = string.gsub(self.commentText, "\n", "\\n")
res.simple = self.simple[0]
self.commentTitle = nodeData.commentTitle or "Comment"
self.commentText = string.gsub(nodeData.commentText or "", "\\n", "\n") or ""
self.simple = im.BoolPtr(nodeData.simple or false)
@/lua/common/libs/lunajson/lunajson/decoder.lua
fixedtonumber = function(s)
return tonumber(gsub(s, '.', radixmark))
end
-- check the last for this purpose.
str = gsub(str, '\\(.)([^\\]?[^\\]?[^\\]?[^\\]?[^\\]?)', f_str_subst)
if f_str_surrogate_prev ~= 0 then
@/lua/ge/extensions/gameplay/discover.lua
end
local content = readFile(file):gsub("\r\n","")
local entry = {
@/lua/common/jit/p.lua
key_stack = profile.dumpstack(th, prof_fmt, prof_depth)
key_stack = key_stack:gsub("%[builtin#(%d+)%]", function(x)
return vmdef.ffnames[tonumber(x)]
local interval = ""
mode = mode:gsub("i%d*", function(s) interval = s; return "" end)
prof_min = 3
prof_min = 3
mode = mode:gsub("m(%d+)", function(s) prof_min = tonumber(s); return "" end)
prof_depth = 1
prof_depth = 1
mode = mode:gsub("%-?%d+", function(s) prof_depth = tonumber(s); return "" end)
local m = {}
@/lua/ge/extensions/util/dependencyTree.lua
local dir, filename, ext = path.split(fn)
fileList[k] = fn:gsub('.' .. ext, '')
end
@/lua/ge/extensions/tech/capturePlayer.lua
if outputPrefix == true then -- automatic name generation if name not provided (but we want to record)
outputPrefix = inputFilename:gsub("%.log$", "") .. '_response'
end
end
outputPrefix = outputPrefix:gsub("%.log$", "") -- if user included the extension, remove it
responsesFile = outputPrefix
@/lua/common/libs/slaxml/slaxdom.lua
-- documents may only have text node children that are whitespace: https://www.w3.org/TR/xml/#NT-Misc
if current.type=='document' and not value:find('^%s+$') then error(("Document has non-whitespace text at root: '%s'"):format(value:gsub('[\r\n\t]',{['\r']='\\r', ['\n']='\\n', ['\t']='\\t'}))) end
push(current.kids,{type='text',name='#text',cdata=cdata and true or nil,value=value,parent=rich and current or nil})
local escmap = {["<"]="<", [">"]=">", ["&"]="&", ['"']=""", ["'"]="'"}
local function esc(s) return s:gsub('[<>&"]', escmap) end
@/lua/ge/extensions/core/modmanager.lua
local modname = string.lower(path)
modname = modname:gsub('dir:/', '') --should have been killed by now
modname = modname:gsub('/mods/', '')
modname = modname:gsub('dir:/', '') --should have been killed by now
modname = modname:gsub('/mods/', '')
modname = modname:gsub('repo/', '')
modname = modname:gsub('/mods/', '')
modname = modname:gsub('repo/', '')
modname = modname:gsub('unpacked/', '')
modname = modname:gsub('repo/', '')
modname = modname:gsub('unpacked/', '')
modname = modname:gsub('/', '')
modname = modname:gsub('unpacked/', '')
modname = modname:gsub('/', '')
modname = modname:gsub('.zip$', '')
modname = modname:gsub('/', '')
modname = modname:gsub('.zip$', '')
--log('I', 'getModNameFromPath', "getModNameFromPath path = "..path .." name = "..dumps(modname) )
for k,v in pairs(mods[modname].modData.hashes) do
v[1] = v[1]:gsub("\\/","/")
if v[1] == filepath then
for k,v in pairs(hashes) do
v[1] = v[1]:gsub("\\/","/")
if FS:fileExists(v[1]) then
for k,v in pairs(mods[modname].modData.hashes) do
v[1] = v[1]:gsub("\\/","/")
if v[1]:match("vehicles/[%w]+") ~= nil and not vehiculesTest then
if filename:find('/unpacked/') and filename:endswith('/') then
mods[modname].orgZipFilename = filename:gsub('unpacked/', '')
mods[modname].orgZipFilename = mods[modname].orgZipFilename:gsub('.zip/', '/') -- old format
mods[modname].orgZipFilename = filename:gsub('unpacked/', '')
mods[modname].orgZipFilename = mods[modname].orgZipFilename:gsub('.zip/', '/') -- old format
mods[modname].orgZipFilename = mods[modname].orgZipFilename:gsub('/$', '')
mods[modname].orgZipFilename = mods[modname].orgZipFilename:gsub('.zip/', '/') -- old format
mods[modname].orgZipFilename = mods[modname].orgZipFilename:gsub('/$', '')
mods[modname].orgZipFilename = mods[modname].orgZipFilename..'.zip'
if filename:find('/unpacked/') and filename:endswith('/') then
d.orgZipFilename = filename:gsub('unpacked/', '')
d.orgZipFilename = d.orgZipFilename:gsub('.zip/', '/') -- old format
d.orgZipFilename = filename:gsub('unpacked/', '')
d.orgZipFilename = d.orgZipFilename:gsub('.zip/', '/') -- old format
d.orgZipFilename = d.orgZipFilename:gsub('/$', '')
d.orgZipFilename = d.orgZipFilename:gsub('.zip/', '/') -- old format
d.orgZipFilename = d.orgZipFilename:gsub('/$', '')
d.orgZipFilename = d.orgZipFilename..'.zip'
if M.modIsUnpacked(modname) and filename:find('/unpacked/') and mods[modname].orgZipFilename:startswith('/mods') and not mods[modname].orgZipFilename:startswith('/mods/') then
mods[modname].orgZipFilename = mods[modname].orgZipFilename:gsub('/mods', '/mods/')
end
for _,va in pairs(mods[modname].modData.attachments) do
table.insert(mods[modname].modData.imgs, mods[modname].modInfoPath .. va.thumb_filename:gsub("\\", "/") )
--table.insert(d.modData.imgs, d.modInfoPath .. "/images/" .. va.data_filename:gsub("\\", "/") )
table.insert(mods[modname].modData.imgs, mods[modname].modInfoPath .. va.thumb_filename:gsub("\\", "/") )
--table.insert(d.modData.imgs, d.modInfoPath .. "/images/" .. va.data_filename:gsub("\\", "/") )
end
for i,e in ipairs(modFiles) do
local tmp = e:gsub(filename, "")
if tmp:sub(1,1) ~= "/" then tmp = "/"..tmp end
local function _cleanPathFromHash(p)
return p:gsub("\\","")
end
for i,e in ipairs(modFiles) do
local tmp = e:gsub(mods[modname].unpackedPath, "")
if tmp:sub(1,1) ~= "/" then tmp = "/"..tmp end
end
local modpath, modname, modext = path.splitWithoutExt( dirPath:gsub('/$', '')..'.zip' )
if not mods[modname] then
end
guihooks.trigger('checkUpdateCheckedMod', "SYNC "..tostring(core_modmanager.getModNameFromID(v.id) or v.filename:gsub(".zip","")) )
job.yield()
local modPath = realPath:sub(string.len(userPath))
modPath = modPath:gsub("\\", "/")
local zipPos = modPath:find('.zip')
@/lua/ge/extensions/ui/gameplaySelector/tiles.lua
-- Get relative path from tileGenerators folder and convert to extension name format
local relativePath = string.gsub(filePath, 'lua/ge/extensions/ui/gameplaySelector/tileGenerators/', '')
relativePath = string.gsub(relativePath, '^/', '') -- remove leading slash
local relativePath = string.gsub(filePath, 'lua/ge/extensions/ui/gameplaySelector/tileGenerators/', '')
relativePath = string.gsub(relativePath, '^/', '') -- remove leading slash
local nameWithoutExt = string.gsub(relativePath, '%.lua$', '')
relativePath = string.gsub(relativePath, '^/', '') -- remove leading slash
local nameWithoutExt = string.gsub(relativePath, '%.lua$', '')
local generatorName = string.gsub(nameWithoutExt, '/', '_')
local nameWithoutExt = string.gsub(relativePath, '%.lua$', '')
local generatorName = string.gsub(nameWithoutExt, '/', '_')
@/lua/ge/extensions/editor/flowgraph/main.lua
local nodeData = readFile('/lua/ge/extensions/flowgraph/newNodeTemplate.lua')
nodeData = nodeData:gsub("New Node Template", data.filename:sub(1,-5)) -- change name
data.filepath = data.filepath:gsub(".lua","Node.lua") -- add Node for customNodes system
nodeData = nodeData:gsub("New Node Template", data.filename:sub(1,-5)) -- change name
data.filepath = data.filepath:gsub(".lua","Node.lua") -- add Node for customNodes system
writeFile(data.filepath, nodeData)
@/lua/ge/extensions/gameplay/rally/notebook/pacenote.lua
if rallyUtil.useNote(before) then
txt = string.gsub(txt, rallyUtil.var_db, before)
else
else
txt = string.gsub(txt, rallyUtil.var_db, '')
end
if rallyUtil.useNote(after) then
txt = string.gsub(txt, rallyUtil.var_da, after)
txt = txt..punc
else
txt = string.gsub(txt, rallyUtil.var_da, '')
end
-- if rallyUtil.useNote(before) then
-- txt = string.gsub(txt, rallyUtil.var_db, before)
-- else
-- else
-- txt = string.gsub(txt, rallyUtil.var_db, '')
-- end
-- if rallyUtil.useNote(after) then
-- txt = string.gsub(txt, rallyUtil.var_da, after)
-- else
-- else
-- txt = string.gsub(txt, rallyUtil.var_da, '')
-- end
preview = dumps(struc)
preview = string.gsub(preview, "\n", " ")
end
if varEscapedFreeform == generatedFreeform then
generatedFreeform = string.gsub(generatedFreeform, rallyUtil.var_db, '')
generatedFreeform = string.gsub(generatedFreeform, rallyUtil.var_da, '')
generatedFreeform = string.gsub(generatedFreeform, rallyUtil.var_db, '')
generatedFreeform = string.gsub(generatedFreeform, rallyUtil.var_da, '')
generatedFreeform = rallyUtil.trimString(generatedFreeform)
@/lua/ge/extensions/gameplay/rally/notebook/structured/visualCompositor.lua
for i,vp in ipairs(visualPacenotes) do
vp.id = string.format("%s_%d", string.gsub(pacenote.name, ' ', '_'), i)
vp.pnId = pacenote.id
@/lua/ge/ge_utils.lua
local function prefabFilenameToTemplateName(filename)
local templateName = filename:gsub('_', '__'):gsub('/', '_')
log('E','prefabFilenameToTemplateName',filename..' ==> '..templateName)
local function prefabFilenameToTemplateName(filename)
local templateName = filename:gsub('_', '__'):gsub('/', '_')
log('E','prefabFilenameToTemplateName',filename..' ==> '..templateName)
assert(type(str) == "string", "utils.escape: Argument 'str' is not a string.")
local escaped = str:gsub('[%-%.%+%[%]%(%)%^%%%?%*%^%$]','%%%1')
return escaped
local function advancedModuleLoader(modulename)
local modulepath = string.gsub(modulename, "%.", "/")
for path in string.gmatch(package.path, "([^;]+)") do
for path in string.gmatch(package.path, "([^;]+)") do
local filename = string.gsub(path, "%?", modulepath)
filename = filename:gsub('//', '/') -- prevent having double slashes in the lookup path
local filename = string.gsub(path, "%?", modulepath)
filename = filename:gsub('//', '/') -- prevent having double slashes in the lookup path
local file = io.open(filename, "rb")
if string.find(filename, '/extensions/') then
local modulenameVirt = string.gsub(modulename, "/", '_')
-- the trick to not screw with line numbers: everything needs to be in the same line. Otherwise the line numbers for the debuggers won't fit anymore
@/lua/common/libs/copas/copas/http.lua
if err then return nil, err end
local size = base.tonumber(string.gsub(line, ";.*", ""), 16)
if not size then return nil, "invalid chunk size" end
-- default headers
local host = string.gsub(reqt.authority, "^.-@", "")
local lower = {
return headers.location and
string.gsub(headers.location, "%s", "") ~= "" and
(reqt.redirect ~= false) and
@/lua/common/libs/ezSVG/EzSVG.lua
for k, v in pairs(tbl) do
local nk = string.gsub(k, "_", "-")
else
key = string.gsub(key, "_", "-")
tbl["__style"][key] = value
elseif type(key) == "string" then
key = string.gsub(key, "_", "-")
setDefaultStyles(key, value, tag)
@/lua/ge/extensions/editor/main.lua
if isFileAnEditorExtension(filename) then
local name = string.gsub(filename, "(.*/)(.*)/(.*)%.lua", "%3")
local extName = "editor_" .. name
@/lua/ge/extensions/flowgraph/nodes/types/string.lua
function C:_onSerialize(res)
res.string = string.gsub(self.string, "\n", "\\n")
res.multiLine = self.multiLine
function C:_onDeserialized(nodeData)
self.string = nodeData.data.value or (string.gsub(nodeData.string or "", "\\n", "\n")) or "Hello World"
self.data.value = nil
@/lua/ge/extensions/scenario/quickRaceLoader.lua
for k,v in pairs(files) do
files[k] = string.gsub(files[k], "(.*/)(.*)/(.*)", "%2")
end
lapConfig = {},
description = trackData.description and string.gsub(trackData.description or "", "\\n", "\n") or nil,
customData = {
@/lua/ge/extensions/gameplay/drift/general.lua
if extensionData.loaded then
im.Text(string.gsub(extensionName, "^gameplay_drift_", ""))
im.TableNextColumn()
@/lua/common/jbeamWriter.lua
if c < 32 or c == 34 or c == 92 then
return ( s:gsub("\\", "\\\\"):gsub("\n", "\\n"):gsub("\t", "\\t"):gsub('"','\\"'):gsub("\r", "\\r") ) -- gsub returns 2 values, parens are needed
end
if c < 32 or c == 34 or c == 92 then
return ( s:gsub("\\", "\\\\"):gsub("\n", "\\n"):gsub("\t", "\\t"):gsub('"','\\"'):gsub("\r", "\\r") ) -- gsub returns 2 values, parens are needed
end
if c < 32 or c == 34 or c == 92 then
return ( s:gsub("\\", "\\\\"):gsub("\n", "\\n"):gsub("\t", "\\t"):gsub('"','\\"'):gsub("\r", "\\r") ) -- gsub returns 2 values, parens are needed
end
if c < 32 or c == 34 or c == 92 then
return ( s:gsub("\\", "\\\\"):gsub("\n", "\\n"):gsub("\t", "\\t"):gsub('"','\\"'):gsub("\r", "\\r") ) -- gsub returns 2 values, parens are needed
end
if c < 32 or c == 34 or c == 92 then
return ( s:gsub("\\", "\\\\"):gsub("\n", "\\n"):gsub("\t", "\\t"):gsub('"','\\"'):gsub("\r", "\\r") ) -- gsub returns 2 values, parens are needed
end
@/lua/ge/extensions/editor/flowgraph/nodelibrary.lua
local d = node.node.description or " "
d = string.gsub(d,"\n",' | ')
table.insert(vals, '' .. d .. '')
@/lua/ge/extensions/career/modules/delivery/parcelManager.lua
local precisionBreakdown = {
label = "Precision Parking (" .. precisionBonus.precisionLevel:gsub("^%l", string.upper) .. ")",
rewards = {},
@/lua/ge/extensions/core/commandhandler.lua
local unescape = function(url)
return url:gsub("%%(%x%x)", hex_to_char)
end
@/lua/common/utils/languageMap.lua
local kclean = string.lower(key):gsub('-', '_') -- replace - with _
@/lua/ge/extensions/util/inputSystemUtils.lua
local function padnum(d) return ("%012d"):format(d) end
local function naturalSortHelper(a, b) return tostring(a):gsub("%d+",padnum) < tostring(b):gsub("%d+", padnum) end
local function padnum(d) return ("%012d"):format(d) end
local function naturalSortHelper(a, b) return tostring(a):gsub("%d+",padnum) < tostring(b):gsub("%d+", padnum) end
@/lua/vehicle/extensions/tech/OBDEmulator.lua
local function serialPortDataReceived(data, bufferOverflown)
data = data:gsub("%z", "")
receiveBuffer = receiveBuffer .. data
@/lua/ge/extensions/editor/api/gui.lua
end
filename = filename:gsub("%s+", "")
return filename
@/lua/common/jsonPrettyEncoderCustom.lua
if c < 32 or c == 34 or c == 92 then
return ( s:gsub("\\", "\\\\"):gsub("\n", "\\n"):gsub("\t", "\\t"):gsub('"','\\"'):gsub("\r", "\\r") ) -- gsub returns 2 values, parens are needed
end
if c < 32 or c == 34 or c == 92 then
return ( s:gsub("\\", "\\\\"):gsub("\n", "\\n"):gsub("\t", "\\t"):gsub('"','\\"'):gsub("\r", "\\r") ) -- gsub returns 2 values, parens are needed
end
if c < 32 or c == 34 or c == 92 then
return ( s:gsub("\\", "\\\\"):gsub("\n", "\\n"):gsub("\t", "\\t"):gsub('"','\\"'):gsub("\r", "\\r") ) -- gsub returns 2 values, parens are needed
end
if c < 32 or c == 34 or c == 92 then
return ( s:gsub("\\", "\\\\"):gsub("\n", "\\n"):gsub("\t", "\\t"):gsub('"','\\"'):gsub("\r", "\\r") ) -- gsub returns 2 values, parens are needed
end
if c < 32 or c == 34 or c == 92 then
return ( s:gsub("\\", "\\\\"):gsub("\n", "\\n"):gsub("\t", "\\t"):gsub('"','\\"'):gsub("\r", "\\r") ) -- gsub returns 2 values, parens are needed
end
@/lua/ge/extensions/ui/apps.lua
for _, originalFilePath in ipairs(FS:findFiles(originalLayoutPath, '*.uilayout.json', -1, false, false)) do
local userFilePath = originalFilePath:gsub(originalLayoutPath, layoutPath)
local replace = false
-- find original layout for this file
local originalFilePath = data.filename:gsub(layoutPath, originalLayoutPath)
if FS:fileExists(originalFilePath) then
@/lua/ge/extensions/career/modules/linearTutorial.lua
local content = readFile("/gameplay/tutorials/pages/"..id.."/content.html"):gsub("\r\n","")
local entry = {
@/lua/ge/extensions/util/logStreams.lua
-- huge hack and not happy about it, but it works! finally! \o/
return readFile(logfileWikitable):gsub('\n', '\\n')
end
-- huge hack and not happy about it, but it works! finally! \o/
return readFile(logfileRst):gsub('\n', '\\n')
end
@/lua/ge/extensions/editor/multiSpawnManager.lua
options.colorPickerData = nil
options.colorPickerPaintKey = updateReason:gsub("Name", "")
editor.openModalWindow(customPaintWindowName)
@/lua/ge/extensions/ui/gridSelectorUtils/translateHelper.lua
-- Pattern 1: {{ 'foo' | translate}} or {{::'foo' | translate}} - quoted string with pipe syntax
local newResult = result:gsub("{{%s*::%s*'([^'|}]+)'%s*|%s*translate%s*}}", function(key)
changed = true
end)
newResult = newResult:gsub("{{%s*'([^'|}]+)'%s*|%s*translate%s*}}", function(key)
changed = true
-- Pattern 2: {{ foo | translate}} - unquoted translation with pipe syntax
newResult = newResult:gsub("{{%s*([^%s|}]+)%s*|%s*translate%s*}}", function(key)
changed = true
-- Pattern 3: {{foo}} - simple variable substitution (context translations)
newResult = newResult:gsub("{{%s*([a-zA-Z0-9_.]+)%s*}}", function(key)
changed = true
@/lua/ge/extensions/scenario/quickRace.lua
vehicleName = scenario.vehicle.file.Name,
vehicleConfig = string.gsub(scenario.vehicle.config,"(.*/)(.*)/(.*).pc", "%3"),
vehicleModel = scenario.vehicle.model
vehicleName = scenario.vehicle.file.Name,
vehicleConfig = string.gsub(scenario.vehicle.config,"(.*/)(.*)/(.*).pc", "%3"),
vehicleModel = scenario.vehicle.model
@/lua/ge/extensions/editor/sidewalkSpline.lua
local baseMeshName = piece.baseMesh and (piece.baseMesh.fileName or "Unknown") or "Unknown"
im.TextColored(cols.greenB, baseMeshName:gsub("%.dae$", ""))
im.SameLine()
@/lua/common/libs/xlsxlib/xlsxlib.lua
-- Remove '$' for absolute references
col = col:gsub("%$", "")
row = row:gsub("%$", "")
col = col:gsub("%$", "")
row = row:gsub("%$", "")
@/lua/common/libs/luaqrcode/qrencode.lua
["4"]="100",["5"]="101", ["6"]="110",["7"]="111"}
s=string.gsub(s,"(.)",function (d) return a[d] end)
-- remove leading 0s
-- remove leading 0s
s = string.gsub(s,"^0*(.*)$","%1")
local fmtstring = string.format("%%%ds",digits)
local ret = string.format(fmtstring,s)
return string.gsub(ret," ","0")
end
local int
string.gsub(str,"..?.?",function(a)
int = tonumber(a)
local b1, b2
string.gsub(str,"..?",function(a)
if #a == 2 then
local ret = {}
string.gsub(str,".",function(x)
ret[#ret + 1] = binary(string.byte(x),8)
local msg = {}
local tab = string.gsub(data,"(........)",function(x)
msg[#msg+1] = tonumber(x,2)
x,y = size,size
string.gsub(data,".?.?.?.?.?.?.?.?",function ( byte )
byte_number = byte_number + 1
@/lua/ge/extensions/editor/assetDeduplicator.lua
local fileRealPath = FS:getFileRealPath(k)
local modFilepath = fileRealPath:gsub(realPath, '')
if FS:fileExists(modFilepath) then
if isOfficialContentVPath(filename) then
local levelArt = string.gsub(filename, "info.json", "art/")
stockLevels[levelArt] = true
if not isOfficialContentVPath(filename) then
local levelArt = string.gsub(filename, "info.json", "art/")
modLevels[levelArt] = true
@/lua/ge/extensions/editor/api/preferencesRegistry.lua
-- remove comma
itemVal = itemVal:gsub(",", "")
end
@/lua/ge/extensions/editor/visualization.lua
-- Filter validator
local filterQuery = string.gsub(ffi.string(im.TextFilter_GetInputBuf(vizFilter)), "[^%w_]+", " ") -- sanitize
filterQuery = string.gsub(filterQuery, "^%s*(.-)%s*$", "%1") -- trim edges
local filterQuery = string.gsub(ffi.string(im.TextFilter_GetInputBuf(vizFilter)), "[^%w_]+", " ") -- sanitize
filterQuery = string.gsub(filterQuery, "^%s*(.-)%s*$", "%1") -- trim edges
local filterTokens = {}
@/lua/common/extensions/ui/improfiler.lua
key_stack = profile.dumpstack(th, prof_fmt, prof_depth)
key_stack = key_stack:gsub("%[builtin#(%d+)%]", function(x)
return vmdef.ffnames[tonumber(x)]
local interval = ""
mode = mode:gsub("i%d*", function(s) interval = s; return "" end)
prof_min = 3
prof_min = 3
mode = mode:gsub("m(%d+)", function(s) prof_min = tonumber(s); return "" end)
prof_depth = 10
prof_depth = 10
mode = mode:gsub("%-?%d+", function(s) prof_depth = tonumber(s); return "" end)
local m = {}
@/lua/common/extensions/ui/imguiUtils.lua
function M.addRecursiveTreeTable(data, fullpath, noColumns, highlightCallback, itemCallback)
local _, level = string.gsub(fullpath, "%/", "")
if type(data) == 'table' then
@/lua/ge/server/server.lua
TorqueScriptLua.setVar("$missionRunning", "false")
setMissionFilename(levelPath:gsub("//", "/"))
@/lua/ge/extensions/util/richPresence.lua
if extensions.core_gamestate.state.state then
msg = msg.. " " ..tostring((core_gamestate.state.state:gsub("^%l", string.upper)) )
end
if currentLevel ~= "" then
M.state.levelName = currentLevel:gsub("^%l", string.upper)
M.state.levelName = M.state.levelName:gsub("_", " ")
M.state.levelName = currentLevel:gsub("^%l", string.upper)
M.state.levelName = M.state.levelName:gsub("_", " ")
M.state.levelName = string.gsub(" "..M.state.levelName, "%W%l", string.upper):sub(2)
M.state.levelName = M.state.levelName:gsub("_", " ")
M.state.levelName = string.gsub(" "..M.state.levelName, "%W%l", string.upper):sub(2)
msgFormat()
@/lua/common/csvlib.lua
if c == nil or c <= 32 or c == delimnum or c == 34 then -- space sep "
buf:put( sformat('"%s"', v:gsub('"', '""')) )
else
if c == delimnum or c == 34 or c == 13 or c == 10 then -- sep " CR LF
buf:put( sformat('"%s"', v:gsub('"', '""')) ) -- gsub returns 2 values, parens are needed
raw = false
until (c == 34 and byte(s, i+1) ~= 34) or c == nil -- "
val = sub(s, si+1, i - 1):gsub('""', '"')
repeat i=i+1; c = byte(s,i) until c~=32 and c~=9 -- space tab
@/lua/common/libs/lua-luaepnf/epnf.lua
else -- parse error at end of input
local _,lno = string.gsub( s, "\n", "\n" )
if string.sub( s, -1, -1 ) ~= "\n" then lno = lno + 1 end
if #s < #str then s = s .. "..." end
local name = "[\"" .. string.gsub( s, "\n", "\\n" ) .. "\"]"
return epnf.parse( g, name, str, ... )
@/lua/ge/extensions/editor/trafficManager.lua
for i, key in ipairs(vehiclesPropsSorted) do
local label = string.lower(key:gsub("Sorted", ""))
if im.CollapsingHeader1(label.."##trafficManagerHeader", im.TreeNodeFlags_DefaultOpen) then
if string.endswith(filePath, ".prefab.json") then -- tries to load the actual data file instead of the prefab
filePath = filePath:gsub(".prefab.json", ".json")
end
if string.endswith(filePath, ".prefab.json") then -- tries to save the actual data file instead of the prefab
filePath = filePath:gsub(".prefab.json", ".json")
end
@/lua/ge/extensions/gameplay/missions/missionTypes/flowMission.lua
for _, file in ipairs(rulesFiles) do
local content = readFile(file):gsub("\r\n","")
table.insert(pages, content)
@/lua/ge/extensions/editor/resourceChecker/resourceUtil.lua
elseif key and value and titleS then
key = key:gsub(' ', "")
value = value:sub(2, -2)
if dir then
local root = string.lower(convertdata):gsub('/levels/','levels/'):gsub('/vehicles/','vehicles/')
if not string.lower(dir):find(root) then
if dir then
local root = string.lower(convertdata):gsub('/levels/','levels/'):gsub('/vehicles/','vehicles/')
if not string.lower(dir):find(root) then
local cacheSize = 0
if FS:fileExists(k:gsub('.dae','.cdae')) then
local fsize2 = safeFileSize(k:gsub('.dae','.cdae'))
if FS:fileExists(k:gsub('.dae','.cdae')) then
local fsize2 = safeFileSize(k:gsub('.dae','.cdae'))
cacheSize = fsize2
sizecache = sizecache + fsize2
elseif FS:fileExists('/temp/'..k:gsub('.dae','.cdae')) then
local fsize2 = safeFileSize('/temp/'..k:gsub('.dae','.cdae'))
elseif FS:fileExists('/temp/'..k:gsub('.dae','.cdae')) then
local fsize2 = safeFileSize('/temp/'..k:gsub('.dae','.cdae'))
cacheSize = fsize2
local cacheSize = 0
if FS:fileExists(k:gsub('.dae','.cdae')) then
local fsize2 = safeFileSize(k:gsub('.dae','.cdae'))
if FS:fileExists(k:gsub('.dae','.cdae')) then
local fsize2 = safeFileSize(k:gsub('.dae','.cdae'))
cacheSize = fsize2
sizecache = sizecache + fsize2
elseif FS:fileExists('/temp/'..k:gsub('.dae','.cdae')) then
local fsize2 = safeFileSize('/temp/'..k:gsub('.dae','.cdae'))
elseif FS:fileExists('/temp/'..k:gsub('.dae','.cdae')) then
local fsize2 = safeFileSize('/temp/'..k:gsub('.dae','.cdae'))
cacheSize = fsize2
if line:match('shapeName') then
line = line:gsub('shapeName', ''):gsub('"', ""):gsub(' ', ""):gsub(';', ""):gsub('=', "")
shapeList[line] = true
if line:match('shapeName') then
line = line:gsub('shapeName', ''):gsub('"', ""):gsub(' ', ""):gsub(';', ""):gsub('=', "")
shapeList[line] = true
if line:match('shapeName') then
line = line:gsub('shapeName', ''):gsub('"', ""):gsub(' ', ""):gsub(';', ""):gsub('=', "")
shapeList[line] = true
if line:match('shapeName') then
line = line:gsub('shapeName', ''):gsub('"', ""):gsub(' ', ""):gsub(';', ""):gsub('=', "")
shapeList[line] = true
if line:match('shapeName') then
line = line:gsub('shapeName', ''):gsub('"', ""):gsub(' ', ""):gsub(';', ""):gsub('=', "")
shapeList[line] = true
if line:match('shapeName') then
line = line:gsub('shapeName', ''):gsub('"', ""):gsub(' ', ""):gsub(';', ""):gsub('=', "")
shapeList[line] = true
if line:match('shapeName') then
line = line:gsub('shapeName', ''):gsub('"', ""):gsub(' ', ""):gsub(';', ""):gsub('=', "")
shapeList[line] = true
if line:match('shapeName') then
line = line:gsub('shapeName', ''):gsub('"', ""):gsub(' ', ""):gsub(';', ""):gsub('=', "")
shapeList[line] = true
if line:match('shapeName') then
line = line:gsub('shapeName', ''):gsub('"', ""):gsub(' ', ""):gsub(';', ""):gsub('=', "")
shapeList[line] = true
if line:match('shapeName') then
line = line:gsub('shapeName', ''):gsub('"', ""):gsub(' ', ""):gsub(';', ""):gsub('=', "")
shapeList[line] = true
if file:find(".color.png") or file:find(".data.png") or file:find(".normal.png") then
if FS:fileExists(file:gsub('.png', '.dds')) then
file = file:gsub('.png', '.dds')
if FS:fileExists(file:gsub('.png', '.dds')) then
file = file:gsub('.png', '.dds')
elseif FS:fileExists('/temp/'..file:gsub('.png', '.dds')) then
file = file:gsub('.png', '.dds')
elseif FS:fileExists('/temp/'..file:gsub('.png', '.dds')) then
file = '/temp/'..file:gsub('.png', '.dds')
elseif FS:fileExists('/temp/'..file:gsub('.png', '.dds')) then
file = '/temp/'..file:gsub('.png', '.dds')
end
if line:match('shapeName') then
line = line:gsub('shapeName', ''):gsub('"', ""):gsub(' ', ""):gsub(';', ""):gsub('=', "")
models[line] = true
if line:match('shapeName') then
line = line:gsub('shapeName', ''):gsub('"', ""):gsub(' ', ""):gsub(';', ""):gsub('=', "")
models[line] = true
if line:match('shapeName') then
line = line:gsub('shapeName', ''):gsub('"', ""):gsub(' ', ""):gsub(';', ""):gsub('=', "")
models[line] = true
if line:match('shapeName') then
line = line:gsub('shapeName', ''):gsub('"', ""):gsub(' ', ""):gsub(';', ""):gsub('=', "")
models[line] = true
if line:match('shapeName') then
line = line:gsub('shapeName', ''):gsub('"', ""):gsub(' ', ""):gsub(';', ""):gsub('=', "")
models[line] = true
local dir, basefilename = path.splitWithoutExt(v)
forestInternals[basefilename:gsub('.forest4', '')] = true
end
if filename then
local txt = string.lower(filename:gsub('.'..ext, ''))
if not txt:match '^/' then
local dir, filename, ext = path.split(v)
local txt = string.lower(filename:gsub('.'..ext, ''))
if not texTemp[txt] then
for k,_ in pairs(selected) do
local entry = k:gsub(' ','')
entry = entry:gsub('in:',';')
local entry = k:gsub(' ','')
entry = entry:gsub('in:',';')
local c = 0
if string.match(v, "managedItemData.json") then
file = v:gsub(' /levels/'..levelname..'/art/forest/managedItemData.json','')
removeFromForestJson(file, "/levels/"..levelname.."/art/forest/managedItemData.json")
elseif string.match(v, " Warning: This is an active forest item, but not used in the level") then
file = v:gsub(' Warning: This is an active forest item, but not used in the level','')
removeFromForestJson(file, "/levels/"..levelname.."/art/forest/managedItemData.json")
local fileRealPath = FS:getFileRealPath(file)
local modFilepath = fileRealPath:gsub(realPath, '')
if FS:fileExists(modFilepath) then
local fileRealPath = FS:getFileRealPath(v)
local modFilepath = fileRealPath:gsub(realPath, '')
if FS:fileExists(modFilepath) then
if abort(job) then return end
if v and not FS:fileExists(v:gsub('.dds', '.png')) then
local dir, basefilename = path.splitWithoutExt(v)
else
log('I', 'PNG file already exists: ' .. tostring(v:gsub('.dds', '.png')))
end
local cache = nil
if FS:fileExists(k:gsub('.dae','.cdae')) then cache = k:gsub('.dae','.cdae')
elseif FS:fileExists(k:gsub('.dts','.cached.dts')) then cache = k:gsub('.dts','.cached.dts')
local cache = nil
if FS:fileExists(k:gsub('.dae','.cdae')) then cache = k:gsub('.dae','.cdae')
elseif FS:fileExists(k:gsub('.dts','.cached.dts')) then cache = k:gsub('.dts','.cached.dts')
if FS:fileExists(k:gsub('.dae','.cdae')) then cache = k:gsub('.dae','.cdae')
elseif FS:fileExists(k:gsub('.dts','.cached.dts')) then cache = k:gsub('.dts','.cached.dts')
elseif FS:fileExists('/temp/'..k:gsub('.dae','.cdae')) then cache = '/temp/'..k:gsub('.dae','.cdae')
if FS:fileExists(k:gsub('.dae','.cdae')) then cache = k:gsub('.dae','.cdae')
elseif FS:fileExists(k:gsub('.dts','.cached.dts')) then cache = k:gsub('.dts','.cached.dts')
elseif FS:fileExists('/temp/'..k:gsub('.dae','.cdae')) then cache = '/temp/'..k:gsub('.dae','.cdae')
elseif FS:fileExists(k:gsub('.dts','.cached.dts')) then cache = k:gsub('.dts','.cached.dts')
elseif FS:fileExists('/temp/'..k:gsub('.dae','.cdae')) then cache = '/temp/'..k:gsub('.dae','.cdae')
elseif FS:fileExists('/temp/'..k:gsub('.dts','.cached.dts')) then cache = '/temp/'..k:gsub('.dts','.cached.dts')
elseif FS:fileExists(k:gsub('.dts','.cached.dts')) then cache = k:gsub('.dts','.cached.dts')
elseif FS:fileExists('/temp/'..k:gsub('.dae','.cdae')) then cache = '/temp/'..k:gsub('.dae','.cdae')
elseif FS:fileExists('/temp/'..k:gsub('.dts','.cached.dts')) then cache = '/temp/'..k:gsub('.dts','.cached.dts')
elseif FS:fileExists('/temp/'..k:gsub('.dae','.cdae')) then cache = '/temp/'..k:gsub('.dae','.cdae')
elseif FS:fileExists('/temp/'..k:gsub('.dts','.cached.dts')) then cache = '/temp/'..k:gsub('.dts','.cached.dts')
end
elseif FS:fileExists('/temp/'..k:gsub('.dae','.cdae')) then cache = '/temp/'..k:gsub('.dae','.cdae')
elseif FS:fileExists('/temp/'..k:gsub('.dts','.cached.dts')) then cache = '/temp/'..k:gsub('.dts','.cached.dts')
end
if f:find(".color.png") or f:find(".data.png") or f:find(".normal.png") then
if FS:fileExists(f:gsub('.png','.dds')) then f = f:gsub('.png','.dds')
elseif FS:fileExists('/temp/'..f:gsub('.png','.dds')) then f = '/temp/'..f:gsub('.png','.dds') end
if f:find(".color.png") or f:find(".data.png") or f:find(".normal.png") then
if FS:fileExists(f:gsub('.png','.dds')) then f = f:gsub('.png','.dds')
elseif FS:fileExists('/temp/'..f:gsub('.png','.dds')) then f = '/temp/'..f:gsub('.png','.dds') end
if FS:fileExists(f:gsub('.png','.dds')) then f = f:gsub('.png','.dds')
elseif FS:fileExists('/temp/'..f:gsub('.png','.dds')) then f = '/temp/'..f:gsub('.png','.dds') end
end
if FS:fileExists(f:gsub('.png','.dds')) then f = f:gsub('.png','.dds')
elseif FS:fileExists('/temp/'..f:gsub('.png','.dds')) then f = '/temp/'..f:gsub('.png','.dds') end
end
@/lua/ge/extensions/flowgraph/graph.lua
self.showTab[0] = self.type ~= 'instance'
self.description = string.gsub(data.description or "", "\\\n", "\n") or ""
self.isStateGraph = data.isStateGraph
@/lua/ge/extensions/editor/flowgraph/references.lua
for _, node in pairs(graph.nodes) do
self:updateNodeOccurrence(string.gsub(node.type, "(.*/)(.*)", "%2"), filename)
end
@/lua/common/jbeam/expressionParser.lua
--strip leading "$=" from expression and replace all occurences of "$" with "_" (as these are used for lua variable names)
expr = expr:sub(3):gsub('%$', 'var_')
--strip leading "$=" from expression and replace all occurences of "$" with "_" (as these are used for lua variable names)
expr = expr:sub(3):gsub('%$', 'var_')
--strip leading "$=" from expression and replace all occurences of "$" with "_" (as these are used for lua variable names)
expr = expr:sub(3):gsub('%$', 'var_')
@/lua/common/libs/lunajson/lunajson/encoder.lua
if delimmark then
s = gsub(s, delimmark, '')
end
if radixmark then
s = gsub(s, radixmark, '.')
end
if find(s, f_string_esc_pat) then
s = gsub(s, f_string_esc_pat, f_string_subst)
end
@/lua/ge/extensions/freeroam/facilities/fuelPrice.lua
end
local priceStr = string.format("%.3f", price):gsub("%.", "")
for i=1, #v2.displayObjects do
@/gameplay/missionTypes/busMode/constructor.lua
local function hex2rgb (hex)
local hex = hex:gsub("#","")
if hex:len() == 3 then
@/lua/ge/extensions/util/jbeamStats.lua
local content = readFile(filename)
totalLineCount = totalLineCount + select(2, content:gsub('\n', '\n'))
if content ~= nil then
@/lua/ge/extensions/career/modules/delivery/vehicleTasks.lua
local precisionBreakdown = {
label = "Precision Parking (" .. precisionBonus.precisionLevel:gsub("^%l", string.upper) .. ")",
rewards = {},
@/lua/ge/extensions/flowgraph/nodes/util/roadSegment.lua
local lanes = link.lanes or '-+'
local _, iCount = string.gsub(lanes, '-', '')
local _, oCount = string.gsub(lanes, '+', '')
local _, iCount = string.gsub(lanes, '-', '')
local _, oCount = string.gsub(lanes, '+', '')
self.pinOut.lanesIncoming.value = iCount
@/lua/ge/extensions/scenario/scenariosLoader.lua
scenarioData.official = isOfficialContentVPath(string.sub(scenarioFilename, 0))
scenarioData.levelName = string.gsub(scenarioFilename, "(.*/)(.*)/scenarios/(.*)%.json", "%2")
scenarioData.map = "ui.common.unknown"
end
scenarioData.scenarioName = scenarioData.scenarioName or string.gsub(scenarioFilename, "(.*/)(.*)%.json", "%2")
scenarioData.directory = string.gsub(scenarioFilename, "(.*)/(.*)%.json", "%1")
scenarioData.scenarioName = scenarioData.scenarioName or string.gsub(scenarioFilename, "(.*/)(.*)%.json", "%2")
scenarioData.directory = string.gsub(scenarioFilename, "(.*)/(.*)%.json", "%1")
end
for i,v in ipairs(matchedScenarios) do
local otherScenarioName = string.gsub(v, "(.*/)(.*)%.json", "%2")
if otherScenarioName ~= scenarioData.scenarioName then
name = fgData.name or "New Flowgraph Scenario",
description = string.gsub(fgData.description or "No Description", "\\n", "\n"),
authors = fgData.authors or "Anonymous",
@/lua/common/extensions.lua
return (filepath:gsub('_', '__'):gsub('/', '_'))
end
return (filepath:gsub('_', '__'):gsub('/', '_'))
end
local res = extName:gsub('__', '#'):gsub('_', '/'):gsub('#', '_')
-- log('I', logTag, 'extNameToLuaPath >> ' .. tostring(extName) .. ' => ' .. tostring(res))
local res = extName:gsub('__', '#'):gsub('_', '/'):gsub('#', '_')
-- log('I', logTag, 'extNameToLuaPath >> ' .. tostring(extName) .. ' => ' .. tostring(res))
local res = extName:gsub('__', '#'):gsub('_', '/'):gsub('#', '_')
-- log('I', logTag, 'extNameToLuaPath >> ' .. tostring(extName) .. ' => ' .. tostring(res))
if string.sub(extPath, 1, 1) == '/' then -- strip leading '/' if present
extPath = string.gsub(extPath, "/(.*)", "%1")
end
if string.sub(extPath, 1, 1) == '/' then
extPath = string.gsub(extPath, "/(.*)", "%1") -- strip leading '/' if present
end
if string.len(rootName) > 0 then
extName = rootName..'_'..string.gsub(extPath, "(.*/)(.*)", "%2")
else
else
extName = string.gsub(extPath, "(.*/)(.*)", "%2")
end
local newPath = directory .. "/?.lua;"
newPath = newPath:gsub('//', '/') -- prevent having double slashes in the lookup path
package.path = newPath .. package.path
local root
local extFilename = string.gsub(extPath, "(.*/)(.*)", "%2")
if extFilename == extName then
@/lua/ge/extensions/core/camera.lua
-- fix INI values that passed through javascript (e.g. when opening Options menu)
savedConfiguration = savedConfiguration:gsub("'",'"')
-- and then deserialize, so we can follow the user settings
@/lua/ge/extensions/gameplay/drag/saveSystem.lua
if not stripData then
local altPath = stripFilePath:gsub("/dragRaces/", "/dragstrips/")
if altPath ~= stripFilePath then
if not stripData then
local altPath = stripFilePath:gsub("/dragstrips/", "/dragRaces/")
if altPath ~= stripFilePath then