findFiles
Definition
-- @/=[C]:-1
function findFiles(...)
Callers
@/lua/ge/extensions/core/input/bindings.lua
for _,prefix in ipairs(prefixes) do
for _,path in ipairs(FS:findFiles(dir, prefix:lower().."*."..suffix, recursion, true, false)) do
if tech_license.isAllowedInputmapPath(path) then
-- get all subdirectories (recursive), plus the base directory itself
local allEntries = FS:findFiles(baseDir, "*", -1, false, true) or {}
table.insert(allEntries, 1, baseDir)
@/lua/ge/extensions/freeroam/organizations.lua
-- parse any other organization files inside the "/organizations" folder
for _,file in ipairs(FS:findFiles("gameplay/organizations/", '*.organizations.json', -1, false, true)) do
local data = jsonReadFile(file)
@/lua/ge/extensions/gameplay/drag/general.lua
local levelDir = core_levels.getLevelByName(levelIdentifier).dir
local settingsFiles = FS:findFiles(levelDir.."/dragstrips/", "*.dragSettings.json", -1, true, false)
@/lua/ge/extensions/util/worker.lua
-- old material.cs support
local matFiles = FS:findFiles( path, 'materials.cs', -1, true, false)
for k,v in pairs(matFiles) do
end
local matFiles = FS:findFiles( path, '*materials.json', -1, true, false)
for k,v in pairs(matFiles) do
@/lua/ge/extensions/flowgraph/modules/missionReplayModule.lua
local result = {}
for i, file in ipairs(FS:findFiles(dir, '*.rpl', 0, false, false)) do
table.insert(orderedReplays, {date = FS:stat(file).createtime, file = file})
@/lua/ge/extensions/editor/barriersEditor.lua
local levelPartLength = (directory:len())+1
for _, f in ipairs(FS:findFiles("/levels/"..level.."/", searchTerm..".prefab", -1, true,true)) do
if not prefabsIndex[f] then
@/lua/ge/extensions/telemetry/core.lua
-- Auto-discover trackers from trackers subfolder
local trackerFiles = FS:findFiles('lua/ge/extensions/telemetry/trackers/', '*.lua', 1, true, false)
local trackersToLoad = {}
@/lua/ge/extensions/editor/vehicleEditor/staticEditor/veJBeamVariablesChecker.lua
local function analyze()
local dirPaths = FS:findFiles('vehicles', "*", 0, false, true)
for _, vehDir in ipairs(dirPaths) do
local pcFilePaths = FS:findFiles(vehDir, "*.pc", -1, false, false)
local jbeamFilePaths = FS:findFiles(vehDir, "*.jbeam", -1, false, false)
local pcFilePaths = FS:findFiles(vehDir, "*.pc", -1, false, false)
local jbeamFilePaths = FS:findFiles(vehDir, "*.jbeam", -1, false, false)
@/lua/ge/extensions/editor/vehicleEditor/staticEditor/veJBeamSpellchecker.lua
local function analyze()
local filePaths = FS:findFiles('vehicles', "*.jbeam", -1, false, false)
@/lua/ge/extensions/ui/apps.lua
local function getAvailableAppList()
local jsonFiles = FS:findFiles(appsDir, 'app.json', -1, false, false)
local res = {}
local res = {}
for _, originalFilePath in ipairs(FS:findFiles(originalLayoutPath, '*.uilayout.json', -1, false, false)) do
local userFilePath = originalFilePath:gsub(originalLayoutPath, layoutPath)
-- now go over all files in the user-ui folder and add them too.
local jsonFiles = FS:findFiles(layoutPath, '*.uilayout.json', -1, false, false)
for _, fn in ipairs(jsonFiles) do
@/lua/ge/extensions/career/career.lua
local extensionFiles = {}
local files = FS:findFiles(careerModuleDirectory, '*.lua', -1, true, false)
for i = 1, tableSize(files) do
end
local files = FS:findFiles(autosavePath .. "/career/vehicles/", '*.json', 0, false, false)
data.vehicleCount = #files
@/lua/ge/extensions/editor/flowgraph/references.lua
-- check directory
self:fillNodeTable(FS:findFiles("/levels/", '*.flow.json', -1, true, false))
self:fillNodeTable(FS:findFiles("/gameplay/", '*.flow.json', -1, true, false))
self:fillNodeTable(FS:findFiles("/levels/", '*.flow.json', -1, true, false))
self:fillNodeTable(FS:findFiles("/gameplay/", '*.flow.json', -1, true, false))
self:fillNodeTable(FS:findFiles("/lua/ge/extensions/flowgraph/examples", '*.flow.json', -1, true, false))
self:fillNodeTable(FS:findFiles("/gameplay/", '*.flow.json', -1, true, false))
self:fillNodeTable(FS:findFiles("/lua/ge/extensions/flowgraph/examples", '*.flow.json', -1, true, false))
@/lua/ge/extensions/editor/terrainMaterialsEditor.lua
local filePaths = FS:findFiles(data.path, "*", 0, true, false)
local files = {}
@/lua/ge/extensions/core/hotlapping.lua
-- we need to search through the entire old root directory due to a previous bug
local oldFiles = FS:findFiles(oldRootDir, '*.json', -1, true, false)
for _, file in ipairs(oldFiles) do
local tracks = {}
local files = FS:findFiles(rootDir..getCurrentLevelIdentifier()..'/', '*.race.json', -1, true, false)
local oldFiles = FS:findFiles(oldRootDir, '*.json', -1, true, false)
local files = FS:findFiles(rootDir..getCurrentLevelIdentifier()..'/', '*.race.json', -1, true, false)
local oldFiles = FS:findFiles(oldRootDir, '*.json', -1, true, false)
files = arrayConcat(files, oldFiles)
@/lua/ge/extensions/editor/scriptAIManager.lua
if im.BeginPopupModal('Load Recording##'..vehId, nil, im.WindowFlags_AlwaysAutoResize) then
local files = FS:findFiles(trackFilePath, '*' .. trackFileExt, -1, true, false)
for _, filename in pairs(files) do
@/lua/ge/extensions/editor/tech/roadArchitect/staticMeshMgr.lua
for j = 1, #staticMeshPaths do
local meshPaths = FS:findFiles(staticMeshPaths[j], "*.dae", -1, true, false)
for i = 1, #meshPaths do
@/lua/ge/extensions/editor/missionEditor.lua
if lastShownMission then
for _, f in ipairs(FS:findFiles(lastShownMission.missionFolder, "*", -1, true, false)) do
table.insert(files, f)
@/lua/ge/extensions/career/modules/inventory.lua
-- load the vehicles
local files = FS:findFiles(savePath .. "/career/vehicles/", '*.json', 0, false, false)
for i = 1, tableSize(files) do
-- Remove vehicle files for vehicles that have been deleted
local files = FS:findFiles(currentSavePath .. "/career/vehicles/", '*.json', 0, false, false)
for i = 1, tableSize(files) do
@/lua/common/extensions.lua
local luaFiles = FS:findFiles(directory, '*.lua', -1, true, false)
for _,luaFilename in pairs(luaFiles) do
-- addModulePath(directory)
local filePaths = FS:findFiles(directory, "*.lua", -1, true, false)
@/lua/ge/extensions/campaign/campaignsLoader.lua
local campaigns = {}
local files = FS:findFiles('/campaigns/', '*.json', 1, true, false)
for k,filename in pairs(files) do
local savesFiles = {}
local files = FS:findFiles('/saves/campaigns/', '*.json', 1, true, false)
--dump(files)
@/lua/ge/extensions/gameplay/missions/missionTypes/editorHelper.lua
local fp, fn, ext = path.split(m.missionFolder .. file, true)
local files = FS:findFiles(fp, fn, -1, true, false)
foundFile = files[1]
local fp, fn, ext = path.split(mission.missionFolder .. file, true)
local files = FS:findFiles(fp, fn, -1, true, false)
e.foundFile = files[1]
@/lua/ge/extensions/editor/assetManagementTool.lua
local filenames = FS:findFiles(searchForDuplicatesPath, '*.*', depth, false, false)
local hash
filenames = FS:findFiles(folder, filter, -1, true, false)
total = #filenames
coroutine.yield()
filenames = FS:findFiles("/assets", "*.*", -1, true, false)
local totalFileCount = #filenames
coroutine.yield()
filenames = FS:findFiles(searchPath, filter, depth, true, true)
local totalFilenames = #filenames
@/lua/ge/extensions/util/nodeBeamExport.lua
local files = FS:findFiles(dir, '*.nbexport.json', -1, false, false) or {}
local maxIdx = 0
@/lua/ge/extensions/gameplay/rally/tools/devTools.lua
function C:loadCompositors()
local compositorFiles = FS:findFiles("/lua/ge/extensions/gameplay/rally/compositors/", "compositor.lua", -1, true, false)
local compositors = {}
@/lua/console/json-performance.lua
-- finding files
local filenames = FS:findFiles('/vehicles', '*.jbeam', -1, false, false)
print(' * Finding all ' .. tostring(#filenames) .. ' json files took ' .. string.format('%0.3f', hp:stopAndReset()) .. 's')
@/lua/ge/extensions/gameplay/rally/notebook/missionSettings.lua
-- log('I', logTag, 'loading all notebook names from '..notebooksFullPath)
local files = FS:findFiles(notebooksFullPath, '*.notebook.json', -1, true, false)
for _,fname in pairs(files) do
@/lua/ge/extensions/core/paths.lua
local camPathFolder = (path.split(getMissionFilename()) or '') .. "camPaths"
local camPathFiles = FS:findFiles(camPathFolder, "*.camPath.json", 0, true, true)
@/lua/ge/extensions/core/vehicle/manager.lua
if materialsCache[path] then return end
local files = FS:findFiles(path, '*materials.json\t*.cs', -1, true, false)
for _, filename in ipairs(files) do
@/lua/ge/extensions/util/terrainGenerator.lua
dir = dir or self.userDir
for _, map in ipairs(FS:findFiles(dir, '*heightMap.png', -1, false, true)) do
FS:removeFile(map)
end
for _, map in ipairs(FS:findFiles(dir, '*holeMap.png', -1, false, true)) do
FS:removeFile(map)
end
for _, map in ipairs(FS:findFiles(dir, '*layerMap_*.png', -1, false, true)) do
FS:removeFile(map)
if FS:directoryExists(self.userDir) then
local heightMapFiles = FS:findFiles(self.userDir, '*heightMap.png', -1, false, true)
local holeMapFiles = FS:findFiles(self.userDir, '*holeMap.png', -1, false, true)
local heightMapFiles = FS:findFiles(self.userDir, '*heightMap.png', -1, false, true)
local holeMapFiles = FS:findFiles(self.userDir, '*holeMap.png', -1, false, true)
if heightMapFiles[1] then
end
local materialFiles = FS:findFiles(self.userDir, '*materials.json', -1, false, true)
if materialFiles[1] then
for _, map in ipairs(FS:findFiles(self.userDir, '*_layerMap_*.png', -1, false, true)) do
local matName = string.match(map, 'layerMap_%d*_(.*)%.(%w*)$')
@/lua/common/jbeam/io.lua
for _, dir in ipairs(directories) do
local filenames = FS:findFiles(dir, "*.jbeam", -1, false, false)
for _, filename in ipairs(filenames) do
@/lua/ge/extensions/gameplay/missions/missionScreen.lua
M.savedLayouts = {}
for _, file in ipairs(FS:findFiles("/gameplay/testing", "*.json", 1, false, true)) do
local layout = jsonReadFile(file)
@/lua/ge/extensions/scenario/scenariosLoader.lua
local cacheTable = {}
local foundFiles = FS:findFiles(levelPath, "*.prefab\t*.prefab.json", -1, true, false)
local dir
if not scenarioData.previews then
local tmp = FS:findFiles(scenarioData.directory.."/", scenarioData.scenarioName..'*.jpg', 0, true, false)
local matchedScenarios = FS:findFiles(scenarioData.directory.."/", scenarioData.scenarioName..'*.json', 0, true, false)
local tmp = FS:findFiles(scenarioData.directory.."/", scenarioData.scenarioName..'*.jpg', 0, true, false)
local matchedScenarios = FS:findFiles(scenarioData.directory.."/", scenarioData.scenarioName..'*.json', 0, true, false)
local otherScenarios = {}
for _, path in ipairs(paths) do
local subfiles = FS:findFiles(path, '*.json', -1, true, false)
for _, scenarioFilename in ipairs(subfiles) do
for _, p in ipairs(paths) do
local fgFiles = FS:findFiles(p, '*.flow.json', -1, true, false)
for _, fgPath in ipairs(fgFiles) do
else
local tmp = FS:findFiles("/levels/"..levelName.."/",levelName..'_preview*.png', 0, true, false)
for _, p in pairs(tmp) do
end
tmp = FS:findFiles("/levels/"..levelName.."/",levelName..'_preview*.jpg', 0, true, false)
for _, p in pairs(tmp) do
local path = '/levels/' .. levelName .. '/scenarios/' .. subdirectory
local foundFiles = FS:findFiles(path, '*.json', -1, true, false)
-- hardcoded for now...
local busLineFiles = FS:findFiles('/levels/'.. levelName .. '/buslines/', '*.buslines.json', -1, true, false)
local routes = {}
@/lua/ge/extensions/gameplay/statistic.lua
local moduleDir = "lua/ge/extensions/gameplay/statisticModules"
local moduleFiles = FS:findFiles(moduleDir, "*.lua", -1, true, false)
if moduleFiles then
@/lua/ge/extensions/editor/main.lua
loadExtensionsSettings()
local extensionFiles = FS:findFiles('/lua/ge/extensions/editor/', '*.lua', 0, false, false)
@/lua/ge/extensions/gameplay/sites/sitesManager.lua
sitesByLevel[level] = {}
local sites = FS:findFiles(info.misFilePath, '*.sites.json', -1, false, true)
@/lua/ge/extensions/editor/crawlEditor/missionPortTool.lua
-- Find all mission directories
local missionDirs = FS:findFiles(missionsPath, "*", 0, false, true)
if FS:directoryExists(missionsPath) then
local missionDirs = FS:findFiles(missionsPath, "*", 0, false, true)
@/lua/ge/extensions/editor/vehicleEditor/staticEditor/veJBeamBeautifier.lua
local function beautifyJBeamFiles(pathToBeautify)
local jbeamFilePaths = path.is_file(pathToBeautify) and {pathToBeautify} or FS:findFiles(pathToBeautify, "*.jbeam", -1, false, false)
--local jbeamFilePaths = FS:findFiles('/', "*.jbeam", -1, false, false)
local jbeamFilePaths = path.is_file(pathToBeautify) and {pathToBeautify} or FS:findFiles(pathToBeautify, "*.jbeam", -1, false, false)
--local jbeamFilePaths = FS:findFiles('/', "*.jbeam", -1, false, false)
--local jbeamFilePaths = {'vehicles/bx/bx_doors.jbeam'}
@/lua/ge/extensions/editor/layoutManager.lua
local function deleteWindowLayout(layoutPath)
for _, path in ipairs(FS:findFiles(layoutPath, "*", -1, true, false)) do
FS:removeFile(path)
for _, path in ipairs(FS:findFiles(layoutDirectory, "*", 0, true, true)) do
if not string.find(path, "/Default") then
@/lua/ge/extensions/util/photomode.lua
local result = {}
for i,file in ipairs(FS:findFiles('ui/modules/photomode/ui-overlays', '*.png', 0, false, false)) do
table.insert(result, {filename=file})
@/lua/ge/extensions/career/branches.lua
local allBranches = {}
for _, filePath in ipairs(FS:findFiles(branchesDir, 'info.json', -1, false, true)) do
local fileInfo = jsonReadFile(filePath)
@/lua/ge/extensions/gameplay/missions/proceduralMissionGenerators/busModeMissions.lua
-- read all busline files for the route and navhelper data.
local busLineFiles = FS:findFiles('/levels/'.. level.levelName .. '/buslines/', '*.buslines.json', -1, true, false)
local routeData = {}
@/lua/ge/extensions/ui/gameplaySelector/tiles.lua
local generatorFiles = FS:findFiles('lua/ge/extensions/ui/gameplaySelector/tileGenerators/', '*.lua', 1, true, false)
for _, filePath in ipairs(generatorFiles) do
@/lua/ge/extensions/editor/vehicleDetailViewer.lua
local function refreshLayoutFiles()
availableLayoutFiles = FS:findFiles(saveFolder, '*.vehicleDetailSetting.json', -1, false, false) or {}
end
@/lua/ge/extensions/flowgraph/nodes/vehicle/ai/scriptAI/pathFromFile.lua
function C:init()
self.files = FS:findFiles(trackFilePath, '*' .. trackFileExt, -1, true, false)
self.fnShort = ""
if im.Button("Refresh Files") then
self.files = FS:findFiles(trackFilePath, '*' .. trackFileExt, -1, true, false)
self.fnShort = ""
@/lua/ge/extensions/core/settings/settings.lua
table.insert(options.userLanguagesAvailable, {key="", name="Automatic", isOfficial=true}) -- the empty ('') language will be auto - it'll use the OS/steam lang
local locales = FS:findFiles('/locales/', '*.json', -1, true, false)
@/lua/ge/extensions/editor/veMain.lua
local extNames = {}
local luaFiles = FS:findFiles("/lua/ge/extensions/editor/vehicleEditor/", "ve*.lua", 0, false, false)
local staticExtNames = {}
local staticLuaFiles = FS:findFiles("/lua/ge/extensions/editor/vehicleEditor/staticEditor/", "ve*.lua", 0, false, false)
local liveExtNames = {}
local liveLuaFiles = FS:findFiles("/lua/ge/extensions/editor/vehicleEditor/liveEditor/", "ve*.lua", 0, false, false)
@/lua/ge/extensions/gameplay/drift/saveLoad.lua
--dump(levelSpotsDir)
for _, file in ipairs(FS:findFiles(levelSpotsDir, "spot.driftSpot.json", -1, false, true)) do
local dir, _, _ = path.split(file)
@/lua/ge/extensions/editor/dynamicDecals/debugSection.lua
if im.Button(string.format("%s##%s", "Generate Materials", guiId)) then
local vehicles = FS:findFiles('/vehicles/', '*', 0, false, true)
@/lua/ge/extensions/editor/terrainEditor.lua
tb:exportLayerMaps(dir .. tbName .. "_layerMap", "png")
local opMaps = FS:findFiles(dir, tbName .. "_layerMap_*.png", -1, false, true)
data.opacityMaps = {}
@/lua/ge/extensions/flowgraph/nodes/gameplay/crawl/setupCrawl.lua
-- Look for trail files in mission folder
local trailFiles = FS:findFiles(missionFolder, '*.trail.json', -1, true, false) or {}
if #trailFiles > 0 then
@/ui/modules/scenariocontrol/scenariocontrol.js
if (animation[index] !== undefined) {
nextStart = findFiles(animation[index].comic || animation[index], animation[index].sound)
} else {
function findFiles (animationPath) {
var deferred = $q.defer()
if (animation[index] !== undefined) {
findFiles(animation[index]).then((renderFunc) => {
renderFunc()
@/lua/ge/extensions/career/modules/delivery/generator.lua
local levelInfo = core_levels.getLevelByName(getCurrentLevelIdentifier())
local files = FS:findFiles("gameplay/delivery/", '*.deliveryParcels.json', -1, false, true)
for _,file in ipairs(files) do
vehicleFilterTemplates = {}
local files = FS:findFiles("gameplay/delivery/", '*.deliveryVehicles.json', -1, false, true)
eligibleVehicles = util_configListGenerator.getEligibleVehicles(false, true)
materialTemplates = {}
local files = FS:findFiles("gameplay/delivery/", '*.deliveryMaterials.json', -1, false, true)
for _,file in ipairs(files) do
@/lua/ge/extensions/core/levels.lua
local res = {}
local level_dirs = FS:findFiles('/levels/', '*', 0, false, true)
table.sort(level_dirs, function(a,b) return string.lower(a) < string.lower(b) end )
-- look for any mission files in there and use the first
local files = FS:findFiles(d, '*.mis', 1, true, false)
if #files ~= 0 then
@/lua/ge/extensions/career/modules/branches/leagues.lua
leaguesById = {}
local files = FS:findFiles("/gameplay/", "*.leagues.json", -1, true, false)
table.sort(files)
@/lua/ge/extensions/editor/fileDialog.lua
-- get entries for current path
local files = FS:findFiles(localcachepath, '*', 0, false, true) -- TODO : feature #4209
local pattern = nil
@/lua/ge/extensions/util/testJSONFilesSyntax.lua
local function onExtensionLoaded()
local filePaths = FS:findFiles('/', "*.jbeam\t*.pc\t*.json", -1, true, false)
for _, filePath in ipairs(filePaths) do
@/lua/ge/extensions/editor/sidewalkSpline/kit.lua
end
local meshPaths = FS:findFiles(kitFolderPath, "*.dae", -1, true, false)
for i = 1, #meshPaths do
@/lua/ge/extensions/flowgraph/manager.lua
local lookup = {}
for i, filename in ipairs(FS:findFiles(macroPath, '*.json', -1, true, false)) do
local dirname, fn, e = path.split(filename)
local customNodePath = self.savedDir .. "customNodes/"
for _, filename in ipairs(FS:findFiles(customNodePath, '*Node.lua', -1, true, false)) do
local dirname, fn, e = path.split(filename)
@/lua/ge/extensions/gameplay/drag/saveSystem.lua
-- Try to find facility file
local facilityFiles = FS:findFiles(levelPath, "*.facility.json", -1, true, false)
for _, file in ipairs(facilityFiles) do
if levelPath then
local facilityFiles = FS:findFiles(levelPath, "*.facility.json", -1, true, false)
for _, file in ipairs(facilityFiles) do
if levelPath then
local stripFiles = FS:findFiles(levelPath, "*.strip.json", -1, true, false)
for _, file in ipairs(stripFiles) do
@/lua/ge/extensions/util/jbeamStats.lua
local jbeamFiles = FS:findFiles('/', '*.jbeam', -1, true, false)
res.totalJbeamFiles = #jbeamFiles
@/lua/ge/extensions/editor/assetDeduplicator.lua
cacheData['assets'] = {}
local filenames = FS:findFiles("/assets/", "*.jpg\t*.png\t*.dds\t*.dae\t*.cdae\t*.glb\t*.gltf", -1, true, false)
job.allfiles = job.allfiles + #filenames
cacheData['art'] = {}
local filenames = FS:findFiles("/art/", "*.jpg\t*.png\t*.dds\t*.dae\t*.cdae\t*.glb\t*.gltf", -1, true, false)
job.allfiles = job.allfiles + #filenames
local stockLevels = {}
local filenames = FS:findFiles("/levels/", "info.json", 1, true, false)
for _, filename in ipairs(filenames) do
for path, _ in pairs(stockLevels) do
local filenames = FS:findFiles(path, "*.jpg\t*.png\t*.dds\t*.dae\t*.cdae\t*.glb\t*.gltf", -1, true, false)
job.allfiles = job.allfiles + #filenames
local modLevels = {}
local filenames = FS:findFiles("/levels/", "info.json", 1, true, false)
for _, filename in ipairs(filenames) do
for path, _ in pairs(modLevels) do
local filenames = FS:findFiles(path, "*.jpg\t*.png\t*.dds\t*.dae\t*.cdae\t*.glb\t*.gltf", -1, true, false)
job.allfiles = job.allfiles + #filenames
cacheData['currentLevel'][currentLevelId] = {}
local filenames = FS:findFiles("/levels/"..currentLevelId.."/", "*.jpg\t*.png\t*.dds\t*.dae\t*.cdae\t*.glb\t*.gltf", -1, true, false)
job.allfiles = job.allfiles + #filenames
@/lua/vehicle/sounds.lua
--log('D', "sounds.loadSoundFiles", "loading sound files from: "..directory)
local files = FS:findFiles(directory, "*.sbeam", -1, true, false)
if not files or #files == 0 then
@/lua/ge/extensions/editor/assemblySpline/molecule.lua
-- Collect all .dae files in the folder and subfolders.
local meshPaths = FS:findFiles(kitFolderPath, "*.dae", -1, true)
@/lua/ge/extensions/gameplay/missions/unlocks.lua
local function onExtensionLoaded()
local files = FS:findFiles('/lua/ge/extensions/gameplay/missions/unlocks/conditions','*.lua',-1)
local count = 0
@/lua/common/json-ast.lua
local function testFiles(writeAST, reportOK)
local filenames = FS:findFiles('/', '*.jbeam', -1, false, false)
local fileCount = #filenames
@/lua/ge/extensions/editor/dynamicDecals/fonts.lua
local function updateGeneratedFontAtlases()
local files = FS:findFiles(destinationDirectory, '*' .. fontAtlasJsonExtension, 1, true, false)
table.sort(files, function(a, b) return string.lower(a) < string.lower(b) end)
@/lua/ge/extensions/ui/liveryEditor/userData.lua
local queriedFiles = {}
local files = FS:findFiles(saveDir, '*' .. dynDecalsExtension, -1, false, false)
for i, file in ipairs(files) do
@/lua/ge/client/lighting.lua
-- log('I', 'lightManager', 'Finding all the system cs files')
-- local files = FS:findFiles('/core/scripts/client/lighting/', 'init.cs', 1, true, false)
-- dump(files)
-- log('I', 'lightManager', 'Finding all the system lua files')
local files = FS:findFiles('lua/ge/client/lighting/', 'init.lua', 1, true, false)
-- dump(files)
-- log('I', 'lightManager', 'Finding all the system cs files')
-- local files = FS:findFiles('/core/scripts/client/lighting/', 'init.cs', 1, true, false)
-- dump(files)
-- log('I', 'lightManager', 'Finding all the system lua files')
local files = FS:findFiles('lua/ge/client/lighting/', 'init.lua', 1, true, false)
-- log('I', 'lightManager', ' files = '..dumps(files))
@/lua/ge/extensions/editor/missionEditor/conditions.lua
missionConditions = {}
local files = FS:findFiles('/lua/ge/extensions/gameplay/missions/unlocks/conditions/','*.lua', -1)
for _, file in ipairs(files) do
@/lua/ge/extensions/editor/gen/test.lua
local pth = U.path2disk({editor.getLevelPath(), 'bat', 'test'})
local list = FS:findFiles(pth, '*.dae', -1, true, false)
-- lo('??^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ onVal_gen_unique:'..tostring(pth)..':'..tableSize(amesh))
-- JSON
list = FS:findFiles(pth, '*.json', -1, true, false)
for i,s in pairs(list) do
pth = U.path2disk({editor.getLevelPath(), 'forest'})
list = FS:findFiles(pth, '*.json', -1, true, false)
-- lo('?? onVal_gen_unique:'..tostring(pth)..':'..tableSize(amesh))
local pref = '*'
local matFiles = FS:findFiles('/art/shapes/objects/', pref..'materials.json', -1, true, false)
for _,f in pairs(afile) do
@/lua/ge/extensions/editor/resourceChecker/resourceUtil.lua
local function collectFiles(root, pattern, skipCommon, vehAware)
local files = FS:findFiles(root, pattern, -1, true, false)
if skipCommon == false then
if vehAware and string.match(root, "vehicles/") then
join(files, FS:findFiles("/vehicles/common", pattern, -1, true, false))
end
-- some callers also add art/core (keep compatibility)
join(files, FS:findFiles("/art", pattern, -1, true, false))
join(files, FS:findFiles("/core", pattern, -1, true, false))
join(files, FS:findFiles("/art", pattern, -1, true, false))
join(files, FS:findFiles("/core", pattern, -1, true, false))
end
log('I', '', 'Verifying materials version' )
local materialFiles = FS:findFiles(convertdata, "*.cs\t*materials.json", -1, true, false)
job.progress = 5
log('I', '', 'Verifying materials duplicates' )
local materialFiles = FS:findFiles(convertdata, "*.cs\t*materials.json", -1, true, false)
if skipCommon == false then
if skipCommon == false then
join(materialFiles, FS:findFiles("/vehicles/common", "*.cs\t*materials.json", -1, true, false))
join(materialFiles, FS:findFiles("/art", "*.cs\t*materials.json", -1, true, false))
join(materialFiles, FS:findFiles("/vehicles/common", "*.cs\t*materials.json", -1, true, false))
join(materialFiles, FS:findFiles("/art", "*.cs\t*materials.json", -1, true, false))
join(materialFiles, FS:findFiles("/core", "*.cs\t*materials.json", -1, true, false))
join(materialFiles, FS:findFiles("/art", "*.cs\t*materials.json", -1, true, false))
join(materialFiles, FS:findFiles("/core", "*.cs\t*materials.json", -1, true, false))
end
log('I', '', 'Checking texture maps' )
local materialFiles = FS:findFiles(convertdata, "*.cs\t*materials.json", -1, true, false)
job.progress = 10
log('I', '', 'Checking texture maps' )
local materialFiles = FS:findFiles(convertdata, "*.cs\t*materials.json", -1, true, false)
local sorted = {}
log('I', '', 'Checking material files' )
local commonVeh = FS:findFiles("/vehicles/common", "*.cs\t*materials.json", -1, true, false)
local commonArt = FS:findFiles("/art", "*.cs\t*materials.json", -1, true, false)
local commonVeh = FS:findFiles("/vehicles/common", "*.cs\t*materials.json", -1, true, false)
local commonArt = FS:findFiles("/art", "*.cs\t*materials.json", -1, true, false)
local commonCore = FS:findFiles("/core", "*.cs\t*materials.json", -1, true, false)
local commonArt = FS:findFiles("/art", "*.cs\t*materials.json", -1, true, false)
local commonCore = FS:findFiles("/core", "*.cs\t*materials.json", -1, true, false)
local materialFiles = FS:findFiles(convertdata, "*.cs\t*materials.json", -1, true, false)
local commonCore = FS:findFiles("/core", "*.cs\t*materials.json", -1, true, false)
local materialFiles = FS:findFiles(convertdata, "*.cs\t*materials.json", -1, true, false)
join(materialFiles, commonVeh)
log('I', '', 'Checking meshes for materials' )
local meshFiles = FS:findFiles(convertdata, "*.dae\t*.dts\t*.cdae\t*.cached.dts", -1, true, false)
for k,v in ipairs(meshFiles) do
job.progress = 5
local prefabs = FS:findFiles("/levels/"..levelname.."/", "*.prefab\t*.prefab.json", -1, true, false)
local missionPrefabs = FS:findFiles("/gameplay/missions/"..levelname.."/", "*.prefab\t*.prefab.json", -1, true, false)
local prefabs = FS:findFiles("/levels/"..levelname.."/", "*.prefab\t*.prefab.json", -1, true, false)
local missionPrefabs = FS:findFiles("/gameplay/missions/"..levelname.."/", "*.prefab\t*.prefab.json", -1, true, false)
join(prefabs, missionPrefabs)
if removal == 1 then
materialFiles = FS:findFiles("/levels/"..levelname.."/", "*materials.json", -1, true, false)
else
else
materialFiles = FS:findFiles("/levels/"..levelname.."/", "*.cs\t*materials.json", -1, true, false)
end
job.progress = 5
local prefabs = FS:findFiles("/levels/"..levelname.."/", "*.prefab\t*.prefab.json", -1, true, false)
local missionPrefabs = FS:findFiles("/gameplay/missions/"..levelname.."/", "*.prefab\t*.prefab.json", -1, true, false)
local prefabs = FS:findFiles("/levels/"..levelname.."/", "*.prefab\t*.prefab.json", -1, true, false)
local missionPrefabs = FS:findFiles("/gameplay/missions/"..levelname.."/", "*.prefab\t*.prefab.json", -1, true, false)
join(prefabs, missionPrefabs)
local forestInternals = {}
local forestFiles = FS:findFiles("/levels/"..levelname.."/forest/", "*forest4.json", -1, true, false)
for _,v in pairs(forestFiles) do
job.progress = 65
local meshFiles = FS:findFiles("/levels/"..levelname.."/", "*.dae\t*.dts\t*.cdae", -1, true, false)
for _,v in pairs(meshFiles) do
job.sleep(0.001)
local texFiles = FS:findFiles("/levels/"..levelname.."/", ".png\t*.dds", -1, true, false)
local blacklist = {"buslines", "quickrace", "scenarios", "scenarios", "lights", "export", "import", "minimap"}
local materialFiles = {}
join(materialFiles, FS:findFiles("/levels", "*.cs\t*materials.json", -1, true, false))
join(materialFiles, FS:findFiles("/vehicles", "*.cs\t*materials.json", -1, true, false))
join(materialFiles, FS:findFiles("/levels", "*.cs\t*materials.json", -1, true, false))
join(materialFiles, FS:findFiles("/vehicles", "*.cs\t*materials.json", -1, true, false))
join(materialFiles, FS:findFiles("/art", "*.cs\t*materials.json", -1, true, false))
join(materialFiles, FS:findFiles("/vehicles", "*.cs\t*materials.json", -1, true, false))
join(materialFiles, FS:findFiles("/art", "*.cs\t*materials.json", -1, true, false))
join(materialFiles, FS:findFiles("/core", "*.cs\t*materials.json", -1, true, false))
join(materialFiles, FS:findFiles("/art", "*.cs\t*materials.json", -1, true, false))
join(materialFiles, FS:findFiles("/core", "*.cs\t*materials.json", -1, true, false))
matTable = parseMaterialFiles(materialFiles, job)
log('I', '', 'Exporting textures to PNG' )
local meshFiles = FS:findFiles(convertdata, "*.dds", -1, true, false)
for _, v in ipairs(meshFiles) do
local textures = FS:findFiles(root, "*.dds\t*.png\t*.jpg\t*.jpeg\t*.tga\t*.bmp", -1, true, false)
local meshesSrc = FS:findFiles(root, "*.dae\t*.dts", -1, true, false)
local textures = FS:findFiles(root, "*.dds\t*.png\t*.jpg\t*.jpeg\t*.tga\t*.bmp", -1, true, false)
local meshesSrc = FS:findFiles(root, "*.dae\t*.dts", -1, true, false)
local meshesCache = FS:findFiles(root, "*.cdae\t*.cached.dts", -1, true, false)
local meshesSrc = FS:findFiles(root, "*.dae\t*.dts", -1, true, false)
local meshesCache = FS:findFiles(root, "*.cdae\t*.cached.dts", -1, true, false)
local terrains = FS:findFiles(root, "*.ter", -1, true, false)
local meshesCache = FS:findFiles(root, "*.cdae\t*.cached.dts", -1, true, false)
local terrains = FS:findFiles(root, "*.ter", -1, true, false)
local audio = FS:findFiles(root, "*.bank\t*.ogg\t*.wav\t*.flac\t*.mp3", -1, true, false)
local terrains = FS:findFiles(root, "*.ter", -1, true, false)
local audio = FS:findFiles(root, "*.bank\t*.ogg\t*.wav\t*.flac\t*.mp3", -1, true, false)
local datablocks = FS:findFiles(root, "*.cs\t*.json\t*.jbeam", -1, true, false)
local audio = FS:findFiles(root, "*.bank\t*.ogg\t*.wav\t*.flac\t*.mp3", -1, true, false)
local datablocks = FS:findFiles(root, "*.cs\t*.json\t*.jbeam", -1, true, false)
local allFiles = FS:findFiles(root, "*", -1, true, false)
local datablocks = FS:findFiles(root, "*.cs\t*.json\t*.jbeam", -1, true, false)
local allFiles = FS:findFiles(root, "*", -1, true, false)
@/lua/ge/extensions/util/compileMeshes.lua
-- old material.cs support
local matFiles = FS:findFiles( path, 'materials.cs', -1, true, false)
for k,v in pairs(matFiles) do
end
local matFiles = FS:findFiles( path, '*materials.json', -1, true, false)
for k,v in pairs(matFiles) do
local allFilesCheckOnly = FS:findFiles('/', '*.dae', -1, true, false) -- do not use for iterating
local files = FS:findFiles( dir, '*.dae', recursiveLevels, true, false)
-- filter paths to only return filename without extension
@/lua/ge/extensions/editor/flowgraphEditor.lua
if restoreFiles == nil then
local allFiles = FS:findFiles(autoSaveDir, '*flow.json', -1, true, false)
local filesByOriginal = {}
@/lua/ge/extensions/util/sortLines.lua
log('I', 'sortLines', 'Handling files in: ' .. path)
local targets = FS:findFiles(path, '*.json', 1, true, true)
for i, target in ipairs(targets) do
@/lua/common/utils.lua
local ret = {}
for _, lvlPath in ipairs(FS:findFiles('/levels/', '*', 0, false, true)) do
table.insert(ret, string.lower(lvlPath:sub(9)))
@/lua/ge/extensions/core/weather.lua
-- global weather presets - all weather files saved in /art/weather/
local globalFiles = FS:findFiles('art/weather/', '*.json', -1, true, false) -- {"art/weather/defaults.json"}
for _, v in pairs(globalFiles) do
local levelDir, filename, ext = path.split(levelPath)
local levelFiles = FS:findFiles(levelDir..'/weather/', '*.json', -1, true, false) -- {"levels/driver_training/weather/weather.json"}
for _, v in pairs(levelFiles) do
@/lua/ge/main.lua
function convertLevelPrefabs(levelPath)
local filenames = FS:findFiles(levelPath, "*.prefab\t*.prefab.json", -1, true, false)
log('I', 'convertLevelPrefabs', 'Converting the following files: '..dumps(filenames or {}))
function validateLevelPrefabs(levelPath)
local filenames = FS:findFiles(levelPath, "*.prefab.json", -1, true, false)
log('I', 'validateLevelPrefabs', 'Validating the following files: '..dumps(filenames or {}))
local filenames = FS:findFiles('/', pattern, -1, true, false)
-- dump(filenames)
function loadDirRec(dir)
local foundfiles = FS:findFiles(dir, "*materials.cs\t*materials.json\t*datablocks.json", -1, true, false)
local csMaterialFiles = {}
@/lua/ge/extensions/editor/api/dynamicDecals/textures.lua
local function reloadTextureFiles()
textureFiles = FS:findFiles(texturesDirectoryPath, "*.jpg\t*.png", -1, true, false)
tags = {}
@/lua/ge/extensions/editor/gen/exp_meshexplorer.lua
local matFiles = FS:findFiles('/art/shapes/', '*'..'materials.json', -1, true, false)
for k,f in pairs(matFiles) do
pref = pref or '*'
local matFiles = FS:findFiles(path, pref..'mat.json', -1, true, false)
lo('>> exp_materialLoad:'..path..':'..#matFiles)
-- dump(out, '?? dir2list:')
local list = FS:findFiles(path..'/', '*.dae', 0, false, false)
-- lo('?? f_list:'..#list)
@/lua/ge/extensions/util/dependencyTree.lua
local function findFiles(pattern)
return FS:findFiles(folder, pattern, -1, true, false)
local function findFiles(pattern)
return FS:findFiles(folder, pattern, -1, true, false)
end
-- first: find levels
local filenames = findFiles('*.level.json\t*.material.json\t*.datablock.json')
for _, filename in pairs(filenames) do
local shapeInfoFiles = findFiles('*.meshes.json')
@/lua/ge/extensions/core/trafficSignals.lua
artDir = artDir..'art/shapes/'
for _, f in ipairs(FS:findFiles(artDir, '*', -1, true, false)) do
if string.find(f, shapeFile) then
artDir = 'art/shapes/' -- if not found, then search the common assets
for _, f in ipairs(FS:findFiles(artDir, '*', -1, true, false)) do
if string.find(f, shapeFile) then
@/lua/ge/extensions/util/docCreator.lua
local function getLanguagesAvailable()
local locales = FS:findFiles('/locales/', '*.json', -1, true, false)
local res = {}
-- gather data from each known inputmap file (json files only, which correspond to the default configs shipped with the game)
local inputmapPaths = FS:findFiles('/settings/inputmaps/', '*.json', -1, true, false)
for _,inputmapPath in ipairs(inputmapPaths) do
@/lua/ge/extensions/editor/toolUtilities/meshAuditionMgr.lua
for j = 1, #staticMeshPaths do
local meshPaths = FS:findFiles(staticMeshPaths[j], "*.dae", -1, true, false)
for i = 1, #meshPaths do
@/lua/ge/extensions/gameplay/drift/general.lua
local function onExtensionLoaded()
driftExtensions = FS:findFiles("/lua/ge/extensions/gameplay/drift", '*.lua', -1, false, false)
end
@/lua/console/bananabench.lua
local vehicles = {}
for _, v in ipairs(FS:findFiles('/vehicles', '*', 0, false, true)) do
if v ~= '/vehicles/common' then
@/lua/ge/extensions/editor/assetBrowser.lua
parent.dirCount = 0
local tbl = FS:findFiles(parent.path, "*", 0, false, true)
for _, path in ipairs(tbl) do
parent.processing = true
local tbl = FS:findFiles(parent.path, "*", 0, false, true)
for _, path in ipairs(tbl) do
local tbl = FS:findFiles(dir.path, "*", 0, false, true)
for _, path in ipairs(tbl) do
var.levelPath, var.levelName = getLevelPathAndName()
var.numberOfAllAssetsAndDirs = #FS:findFiles(var.levelPath, "*", -1, false, true)
if editor.getPreference("assetBrowser.general.loadVehicleAssets")== true then
var.numberOfAllAssetsAndDirs = var.numberOfAllAssetsAndDirs + #FS:findFiles("/vehicles/", "*", -1, false, true)
end
if editor.getPreference("assetBrowser.general.loadGameplayAssets") == true then
var.numberOfAllAssetsAndDirs = var.numberOfAllAssetsAndDirs + #FS:findFiles("/gameplay/", "*", -1, false, true)
end
if editor.getPreference("assetBrowser.general.showAllDataFolders") == true then
var.numberOfAllAssetsAndDirs = var.numberOfAllAssetsAndDirs + #FS:findFiles("/", "*", -1, false, true)
end
table.insert(var.allDirs, newDir)
var.numberOfAllAssetsAndDirs = var.numberOfAllAssetsAndDirs + #FS:findFiles(folder.path, "*", -1, false, true)
end
var.vehicles = newDirectory("/vehicles/", "vehicles", true, true, false)
var.numberOfAllAssetsAndDirs = var.numberOfAllAssetsAndDirs + #FS:findFiles("/vehicles/", "*", -1, false, true)
else
var.vehicles = nil
var.numberOfAllAssetsAndDirs = var.numberOfAllAssetsAndDirs - #FS:findFiles("/vehicles/", "*", -1, false, true)
end
@/lua/ge/extensions/gameplay/missions/missions.lua
missionTypes = {}
for _,missionFile in ipairs(FS:findFiles(missionTypesDir, missionTypeConstructorFilename..'.lua', 1, false, true)) do
local dir,_,_ = path.splitWithoutExt(missionFile)
-- load filebased missions
for _,missionInfo in ipairs(FS:findFiles(missionsDir, 'info.json', -1, false, true)) do
--dump(missionInfo)
local function onExtensionLoaded()
local files = FS:findFiles('/lua/ge/extensions/gameplay/missions/proceduralMissionGenerators/','*.lua',-1)
local count = 0
@/lua/ge/extensions/editor/multiSpawnManager.lua
for _, v in ipairs(M.filePaths) do
local files = FS:findFiles(v, "*.vehGroup.json", -1, true, true)
table.sort(files)
@/lua/ge/extensions/ui/uiMods.lua
local modDir = "/ui/ui-vue/mods"
local files = FS:findFiles(modDir, "*.*", -1, true, false)
local mods = {}
@/lua/ge/extensions/core/environment.lua
local levelDir, filename, ext = path.split(levelPath, "(.-)([^/]-([^%.]*))$")
local files = FS:findFiles(levelDir..'/groundModels/', '*.json', -1, true, false)
@/lua/ge/extensions/gameplay/missions/progress.lua
local function onExtensionLoaded()
local files = FS:findFiles('/lua/ge/extensions/gameplay/missions/progress/conditions', '*.lua', -1)
local count = 0
@/lua/ge/extensions/util/resaveMaterials.lua
-- for now we only convert materials.cs
local files = FS:findFiles('/', 'materials.cs\tmanaged*Data.csNOP', -1, true, false)
for _, fn in ipairs(files) do
@/lua/ge/extensions/scenario/quickRaceLoader.lua
end
local files = FS:findFiles('/levels/', 'info.json', 1, true, false)
-- filter paths to only return filename without extension
local levelPath = '/levels/' .. levelName .. '/quickrace/'
local quickraceFiles = FS:findFiles(levelPath, '*.json', -1, true, false)
local newLevel = {}
else
local tmp = FS:findFiles("/levels/"..levelName.."/",levelName..'_preview*.png', 0, true, false)
for _, p in pairs(tmp) do
end
tmp = FS:findFiles("/levels/"..levelName.."/",levelName..'_preview*.jpg', 0, true, false)
for _, p in pairs(tmp) do
-- local previews = {}
-- for i, file in ipairs(FS:findFiles('trackEditor/','*.json',-1,true,false)) do
-- local _, fn, e = path.split(file)
local editorTracks = {}
for i, file in ipairs(FS:findFiles('trackEditor/','*.json',-1,true,false)) do
local _, fn, e = path.split(file)
-- find preview for forward and reverse
local tmp = FS:findFiles(file.directory, file.trackName..'.jpg', 0, true, false)
file.previews = {}
local tmp = FS:findFiles(file.directory, file.trackName..'_reverse.jpg', 0, true, false)
file.reversePreviews = {}
@/lua/ge/extensions/editor/raceEditor.lua
table.clear(allFiles)
for _, f in ipairs(FS:findFiles("/", '*.race.json', -1, true,true)) do
local dir, filename, ext = path.split(f)
@/lua/ge/extensions/core/busRouteManager.lua
local function load(mapFolder)
local jFiles = FS:findFiles(mapFolder.."/buslines/", '*.buslines.json', -1, true, false)
for _,jFilename in pairs(jFiles) do
@/lua/ge/extensions/gameplay/traffic/trafficUtils.lua
local dir = path.split(getMissionFilename()) or '/levels/'
local files = FS:findFiles(dir, '*.vehGroup.json', 0, true, true) -- vehGroup files in the level directory
if not files[1] or options.useCustom then
if not files[1] or options.useCustom then
files = FS:findFiles('/vehicleGroups/', '*.vehGroup.json', -1, true, true) -- vehGroup files in the vehicle groups directory
end
@/lua/ge/extensions/util/inputSystemUtils.lua
local usedActions = {}
for _, path in ipairs(FS:findFiles('/', '*.json', -1, false, false)) do
if path:find('inputmaps/') then
local function resave()
for _, filepath in ipairs(FS:findFiles('/', '*.json', -1, false, false)) do
if filepath:find('inputmaps/') then
@/lua/common/jbeam/interaction.lua
local interactionFilenamesVehicle = FS:findFiles(vehicle.vehicleDirectory, '*.interaction.json', -1, false, false)
local interactionFilenames = FS:findFiles('/vehicles/common/', '*.interaction.json', -1, false, false)
local interactionFilenamesVehicle = FS:findFiles(vehicle.vehicleDirectory, '*.interaction.json', -1, false, false)
local interactionFilenames = FS:findFiles('/vehicles/common/', '*.interaction.json', -1, false, false)
arrayConcat(interactionFilenames, interactionFilenamesVehicle)
@/lua/ge/extensions/core/audio.lua
local function loadBanksInFolder(folder)
local bankFiles = FS:findFiles(folder, '*.bank', 0, true, false)
local function populateAssetBanks(directory)
local bankFiles = FS:findFiles(directory, '*.bank', 0, true, false)
bankFiles = tableMerge(bankFiles, FS:findFiles(directory..'/mods', '*.bank', 0, true, false))
local bankFiles = FS:findFiles(directory, '*.bank', 0, true, false)
bankFiles = tableMerge(bankFiles, FS:findFiles(directory..'/mods', '*.bank', 0, true, false))
asset_banks = {}
local function populateMetaBanks(directory)
local bankFiles = FS:findFiles(directory, '*.bank', 0, true, false)
bankFiles = tableMerge(bankFiles, FS:findFiles(directory..'/mods', '*.bank', 0, true, false))
local bankFiles = FS:findFiles(directory, '*.bank', 0, true, false)
bankFiles = tableMerge(bankFiles, FS:findFiles(directory..'/mods', '*.bank', 0, true, false))
local meta_banks = {}
@/lua/ge/server/server.lua
local foundfiles = FS:findFiles(levelDir, "*.cs\t*materials.json\t*data.json\t*datablocks.json", -1, true, false)
table.sort(foundfiles)
@/lua/ge/extensions/editor/mainMenu.lua
if levelName then
local unpackedModsList = FS:findFiles( "/mods/unpacked/", "*", 0, false, true )
for _, modPath in ipairs(unpackedModsList) do
@/lua/ge/extensions/editor/flowgraph/properties.lua
if relativeFiles == nil then
relativeFiles = FS:findFiles(pin.node.mgr.savedDir, '*', -1, true, false)
end
@/lua/ge/extensions/core/flowgraphManager.lua
end)
--for _, simpleNodeConstructor in ipairs(FS:findFiles(simpleNodeConstructorPath,"*.json")) do
-- require(simpleNodeConstructor)
local lookup = {}
for i, filename in ipairs(FS:findFiles(nodePath, '*.lua', -1, true, false)) do
local dirname, fn, e = path.split(filename)
local lookup = {}
for i, filename in ipairs(FS:findFiles(stateTemplatePath, '*state.flow.json', -1, true, false)) do
local dirname, fn, e = path.splitWithoutExt(filename, true)
@/lua/ge/extensions/core/replay.lua
local result = {}
for i,file in ipairs(FS:findFiles('replays', '*.rpl', 1, false, false)) do
file = string.gsub(file, "/(.*)", "%1") -- strip leading /
-- add all the missions replays that have been automatically recorded
for i, file in ipairs(FS:findFiles(M.getMissionReplaysPath(), '*.rpl', 0, false, false)) do
table.insert(filesWithUserSaved, {file = file})
-- add all the user saved replays that correspong to the current environment. Ie freeroam or career, save slot
for i, file in ipairs(FS:findFiles(getCurrentUserSavedReplayFilesPath(), '*.rpl', 0, false, false)) do
table.insert(filesWithUserSaved, {file = file, userSaved = true})
@/lua/vehicle/energyStorage.lua
local directory = "lua/vehicle/energyStorage"
local files = FS:findFiles(directory, "*.lua", -1, true, false)
if files then
@/lua/ge/extensions/editor/roadUtils.lua
if not editor.getLevelName() then return end
roadTemplateFiles = FS:findFiles("levels/" .. editor.getLevelName() .. "/roadtemplates","*.road.json", 0, true, true)
@/lua/ge/extensions/core/vehicles.lua
-- get .pc files and fix them up for the new system
local pcfiles = FS:findFiles("/vehicles/" .. vehicleName .. "/", "*.pc", 0, true, false)
for _, fn in pairs(pcfiles) do
profilerPushEvent("single computeFileCache")
local jfiles = FS:findFiles("/vehicles/", "info*.json\t*.pc\t*.png\t*.jpg\t*.paintLibrary.json", -1, true, true)
if p then p:add("find") end
profilerPushEvent("batch computeFileCache")
local jfiles = FS:findFiles("/vehicles/", "info*.json\t*.pc\t*.png\t*.jpg\t*.paintLibrary.json", -1, true, true)
if p then p:add("find") end
if string.sub(vehicleDirectory, -1) ~= '/' then vehicleDirectory = vehicleDirectory .. '/' end
local res = FS:findFiles(vehicleDirectory, '*.jbeam', -1, false, false) -- recursive search
cache[model] = res
if data.model then
if next(FS:findFiles('/vehicles/'..data.model..'/', '*.jbeam', 1, false, false)) then
--TorqueScriptLua.setVar( '$beamngVehicle', data.model ) -- Set the model
if not visitedDirs[modelName] then
if not next(FS:findFiles('/vehicles/'..modelName..'/', '*.jbeam', 1, false, false)) then
allVehDirsExist = false
if data.model then
if next(FS:findFiles('/vehicles/'..data.model..'/', '*.jbeam', 1, false, false)) then
TorqueScriptLua.setVar( '$beamngVehicle', data.model ) -- Set the model
if not visitedDirs[modelName] then
if not next(FS:findFiles('/vehicles/'..modelName..'/', '*.jbeam', 1, false, false)) then
allVehDirsExist = false
@/lua/ge/extensions/editor/api/core.lua
local function copyDirectory(srcPath, dstPath)
local filesAndFolders = FS:findFiles(srcPath, "*.*", -1, true, true)
if srcPath == "" or not srcPath then srcPath = "levels/template/" end
local filesAndFolders = FS:findFiles(srcPath, "*.*", -1, true, true)
local srcLevelName = srcPath:gsub("levels/", "")
@/lua/ge/extensions/freeroam/facilities.lua
-- parse any other facility files inside the levels /facilities folder
for _,file in ipairs(FS:findFiles(levelInfo.dir.."/facilities/", '*.facilities.json', -1, false, true)) do
parseFacilitiyFile(file, facilitiesByLevel[levelName], levelInfo.misFilePath)
@/gameplay/missionTypes/precisionParking/constructor.lua
if not self.fgPath then
local files = FS:findFiles(self.missionFolder, '*.flow.json', -1, true, false) or {}
self.fgPath = files[1]
@/gameplay/missionTypes/flowgraph/constructor.lua
if not self.fgPath then
local files = FS:findFiles(self.missionFolder, '*.flow.json', -1, true, false) or {}
self.fgPath = files[1]
@/lua/ge/extensions/editor/util/editorElementHelper.lua
local fp, fn, ext = path.split(c.missionFolder .. file, true)
local files = FS:findFiles(fp, fn, -1, true, false)
foundFile = files[1]
local fp, fn, ext = path.split(file, true)
local files = FS:findFiles(fp, fn, -1, true, false)
e.foundFile = files[1]
@/lua/ge/extensions/editor/crawlEditor.lua
if FS:directoryExists(missionsPath) then
local missionDirs = FS:findFiles(missionsPath, "*", 0, false, true)
local missionDirs = FS:findFiles(missionsPath, "*", 0, false, true)
for _, missionDir in ipairs(missionDirs) do
@/lua/ge/extensions/editor/crawlEditor/trails.lua
local crawlsPath = '/levels/' .. currentLevel .. '/crawls/'
local crawlsFiles = FS:findFiles(crawlsPath, "*.prefab.json", 1, false, true)
for _, file in ipairs(crawlsFiles) do
@/lua/ge/extensions/util/export.lua
else
local foundFiles = FS:findFiles('/', filepathIn, -1, false, false)
if #foundFiles == 1 then
@/lua/ge/extensions/gameplay/discover.lua
discoversById = {}
local discoverFiles = FS:findFiles("lua/ge/extensions/gameplay/discover/", "*.lua", 0, false, false)
for _, file in ipairs(discoverFiles) do
@/lua/vehicle/extensions/gameplayInterface.lua
local moduleDir = "lua/vehicle/extensions/gameplayInterfaceModules"
local moduleFiles = FS:findFiles(moduleDir, "*.lua", -1, true, false)
if moduleFiles then
@/lua/ge/client/core.lua
-- then the new ones
local subfiles = FS:findFiles("core/", '*.materials.json', -1, true, false)
-- log('I','core', 'loadCoreMaterials json materials = '..dumps(subfiles))
@/lua/ge/extensions/gameplay/speedTrapLeaderboards.lua
table.clear(leaderboards)
local files = FS:findFiles(folderPath, '*.json', 0, false, false)
for _, filePath in pairs(files) do
@/lua/ge/extensions/freeroam/freeroamConfigurator.lua
M.dependencies = {}
local generatorFiles = FS:findFiles('lua/ge/extensions/freeroam/configuratorOptions/', '*.lua', 1, true, false)
for _, filePath in ipairs(generatorFiles) do
@/lua/ge/extensions/trackbuilder/trackBuilder.lua
local function setupTextures()
for _, file in pairs(FS:findFiles(materialSettings.directory, "*.dds", -1, true, false)) do
local fileWithoutExtension = string.sub(file, 1, string.len(file) - 4)
@/lua/ge/extensions/gameplay/missions/missionTypes/flowMission.lua
local rulesFolder = layer.dir .. "rules/"
arrayConcat(rulesFiles,FS:findFiles(rulesFolder, "*.html", -1, true, false))
end
@/lua/ge/extensions/editor/flowgraph/examples.lua
for i, filename in ipairs(FS:findFiles(stateTemplatePath, '*flow.json', -1, true, false)) do
@/lua/ge/extensions/editor/gen/world.lua
pref = pref or '*'
local matFiles = FS:findFiles(path, pref..'mat.json', -1, true, false)
lo('>> materialLoad:'..path..':'..#matFiles)
local function daeLoad_(pth, tp, mute)
local afile = FS:findFiles(pth..tp, '*.dae', -1, true, false)
if mute then
afile = FS:findFiles(pth..tp, '*.dae', -1, true, false)
end
local pth = U.path2disk({editor.getLevelPath(), 'bat', 'test'})
local list = FS:findFiles(pth, '*.dae', -1, true, false)
lo('??^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ building4test:'..tostring(pth)..':'..tableSize(amesh))
-- JSON
list = FS:findFiles(pth, '*.json', -1, true, false)
for i,s in pairs(list) do
pth = U.path2disk({editor.getLevelPath(), 'forest'})
list = FS:findFiles(pth, '*.json', -1, true, false)
-- lo('?? onVal_gen_unique:'..tostring(pth)..':'..tableSize(amesh))
local pth = U.path2disk({editor.getLevelPath(), 'bat', 'test'})
local amesh = FS:findFiles(pth, '*.dae', -1, true, false)
lo('?? onVal_gen_unique:'..tostring(pth)..':'..tableSize(amesh))
-- to static meshes
local amesh = FS:findFiles(editor.getLevelPath()..'/bat'..'/test', '*.dae', -1, true, false)
local dpos = {}
-- local dir = FS:openDirectory(dirname)
-- local ifdir = FS:findFiles(dirname, "*", -1, true, false)
-- lo('?? ifdir:'..tostring(ifdir))
@/lua/common/extensions/tech/techCapture.lua
if dirname == nil then dirname = '/' end
local files = FS:findFiles(dirname, baseFilename .. '*.' .. extension, 0, true, false)
local filteredFiles = {}
@/lua/ge/extensions/core/modmanager.lua
local files = FS:findFiles('/vehicles/', '*', 0, true, true)
for _, path in ipairs(files) do
if vehiculesTest and vehName~="" then
local vfiles = FS:findFiles("/vehicles/"..vehName, "*", -1, true, false)
local oldLvlFiles = FS:findFiles( "/"..filename..'levels/', "*.mis", 1, true, false )
local lvlFiles = FS:findFiles( "/"..filename..'levels/', "*.level.json", 3, true, false )
local oldLvlFiles = FS:findFiles( "/"..filename..'levels/', "*.mis", 1, true, false )
local lvlFiles = FS:findFiles( "/"..filename..'levels/', "*.level.json", 3, true, false )
local vehFiles = FS:findFiles( "/"..filename..'vehicles/', "*", 0, true, true )
local lvlFiles = FS:findFiles( "/"..filename..'levels/', "*.level.json", 3, true, false )
local vehFiles = FS:findFiles( "/"..filename..'vehicles/', "*", 0, true, true )
if #oldLvlFiles > 0 or #lvlFiles > 0 then d.modType = 'terrain' end
end
local modFiles = FS:findFiles(filename, '*', -1, true, false)
for i,e in ipairs(modFiles) do
-- catch new files
local zipfileList = FS:findFiles( "/mods/", "*.zip", -1, false, false )
local unpackedList = FS:findFiles( "/mods/unpacked/", "*", 0, false, true )
local zipfileList = FS:findFiles( "/mods/", "*.zip", -1, false, false )
local unpackedList = FS:findFiles( "/mods/unpacked/", "*", 0, false, true )
--if unpackedList[1] == 'mods/unpacked/' then unpackedList[1] = '' end --fix for previous FS
local modScriptFiles = FS:findFiles('/scripts/', 'modScript.lua', -1, true, false)
for k,v in ipairs(modScriptFiles) do
modScriptFiles = FS:findFiles('/mods_data/', 'modScript.lua', 1, true, false)
for k,v in ipairs(modScriptFiles) do
-- delete old files in reverse order for empty folders before try to delete it
-- local deleteFileList = FS:findFiles( folderPath, "*", -1, true, true )
--dump(deleteFileList)
print('testZips')
local fileList = FS:findFiles( "/mods", "*.zip", -1, true, false )
for k,v in pairs(fileList) do
elseif mods[modname].unpackedPath then --unpacked, no fs notif because too slow to do findfiles on everything
local modFiles = FS:findFiles(mods[modname].unpackedPath, '*', -1, true, false)
for i,e in ipairs(modFiles) do
elseif mods[modname].unpackedPath then --unpacked, no fs notif because too slow to do findfiles on everything
local modScriptFiles = FS:findFiles(mods[modname].unpackedPath .. '/scripts/', 'modScript.lua', -1, true, false)
modScripts = arrayConcat(modScripts,modScriptFiles)
modScriptFiles = FS:findFiles(mods[modname].unpackedPath .. '/mods_data/', 'modScript.lua', 1, true, false)
modScripts = arrayConcat(modScripts,modScriptFiles)
local fileList = FS:findFiles( mods[modname].unpackedPath, "*", -1, false, false )
@/lua/ge/extensions/editor/materialEditor.lua
local function getPreviewMeshes()
previewMeshes = FS:findFiles(previewMeshesPath, "*.dae", -1, true, false)
local previewMeshNames = {}
@/lua/ge/extensions/core/camera.lua
constructorsCache = {}
for _,file in ipairs(FS:findFiles(camDirectory, "*.lua", 1, false, false)) do
local _,camMode,_ = path.splitWithoutExt(file)
@/lua/ge/extensions/core/vehicle/partmgmt.lua
local files = FS:findFiles(playerVehicle.vehicleDirectory, "*.pc", -1, true, false) or {}
local result = {}
@/lua/ge/extensions/editor/perfProfiler.lua
local camPathFolder = "levels/"..levelName.."/perfRecordingCampaths/"
local camPathFiles = FS:findFiles(camPathFolder, "*.camPath.json", 0, true, true)
if not next(camPathFiles) then
@/lua/ge/extensions/editor/vizHelper.lua
local function onExtensionLoaded()
vizHelper = FS:findFiles(artPath, "*", -1, true, false)
for k, v in ipairs(vizHelper) do
@/lua/vehicle/protocols.lua
local anyProtocolActive = false
filesCache = filesCache or FS:findFiles(protocolsDir, "*.lua", 0, false, false) -- optimization, do not hit FS for new files (until you ctrl-R)
for _,filepath in ipairs(filesCache) do
@/lua/ge/extensions/core/input/actions.lua
local result = {}
for _,path in pairs(FS:findFiles(directory, pattern, 0, false, false)) do
if active == tech_license.isAllowedActionsPath(path) then
@/lua/ge/extensions/util/renderComponentsAPI.lua
settingByKey = {}
local rendererComponentFiles = FS:findFiles("/renderer/components/", "*.rendercomponent.json", -1, false, false)
for _, filename in ipairs(rendererComponentFiles) do
local result = {}
for i,file in ipairs(FS:findFiles('art/postfx', '*.png', 0, false, false)) do
table.insert(result, {filename=file})
@/lua/ge/extensions/editor/dragRaceEditor/dragSettings.lua
if levelName then
local levelSettingsFiles = FS:findFiles("/levels/" .. levelName .. "/dragstrips/", "*.dragSettings.json", -1, true, false)
log('D', 'drag_race_editor', 'Found ' .. #levelSettingsFiles .. ' level settings files')
if pathExists then
local dragStripRaceFiles = FS:findFiles(dragStripRacePath, "*.dragSettings.json", -1, true, false)
log('D', 'drag_race_editor', 'Found ' .. #dragStripRaceFiles .. ' dragStripRace settings files')
if pathExistsAPM then
local dragStripAPMFiles = FS:findFiles(dragStripAPMPath, "*.dragSettings.json", -1, true, false)
log('D', 'drag_race_editor', 'Found ' .. #dragStripAPMFiles .. ' dragStripAPM settings files')
@/lua/vehicle/powertrain.lua
local vehicleDirectory = vehiclePath .. "lua/powertrain"
local globalFiles = FS:findFiles(globalDirectory, "*.lua", -1, true, false)
local vehicleFiles = FS:findFiles(vehicleDirectory, "*.lua", -1, true, false)
local globalFiles = FS:findFiles(globalDirectory, "*.lua", -1, true, false)
local vehicleFiles = FS:findFiles(vehicleDirectory, "*.lua", -1, true, false)
local files = arrayConcat(globalFiles, vehicleFiles)
@/lua/ge/extensions/editor/rallyEditor.lua
log('I', logTag, 'loading all notebook names from '..notebooksFullPath)
local files = FS:findFiles(notebooksFullPath, '*.notebook.json', -1, true, false)
for _,fname in pairs(files) do
@/lua/ge/ge_utils.lua
function dirContent(path)
return FS:findFiles(path, '*', -1, false, false)
end
function getDirs(path, recursiveLevels)
local files = FS:findFiles(path, '*', recursiveLevels, false, true)
local res = {}
function getDirectories(path)
local files = FS:findFiles(path,"*", 0, true, true)
local dirs = {}
-- please support development of BeamNG and leave this in here :)
local files = FS:findFiles('/', '*.url', 0, false, false)
local knownHashes = {
@/lua/ge/extensions/career/modules/insurance/insurance.lua
-- load insurance providers, and translate their names and descriptions
local insuranceProvidersFileNames = FS:findFiles("gameplay/insurance/providers", "*.json", -1, true, false)
for _, insuranceProviderFileName in ipairs(insuranceProvidersFileNames) do
-- load insurance classes, and translate their names
local classesFileNames = FS:findFiles("gameplay/insurance/classes", "*.json", -1, true, false)
for _, className in ipairs(classesFileNames) do
@/lua/ge/extensions/util/trackBuilder/splineTrack.lua
local previews = {}
for i, file in ipairs(FS:findFiles('trackEditor/', '*.json', -1, true, false)) do
local _, fn, e = path.split(file)
local previews = {}
for i, file in ipairs(FS:findFiles('trackEditor/', '*.png', -1, true, false)) do
local _, fn, e = path.split(file)
end
for i, file in ipairs(FS:findFiles('trackEditor/', '*.jpg', -1, true, false)) do
local _, fn, e = path.split(file)
@/lua/ge/extensions/gameplay/crawl/saveSystem.lua
local pattern = "*." .. type .. ".json"
local files = FS:findFiles(path, pattern, 1, false, true)