GE Lua Documentation

Press F to search!

loadDirRec

Definition


-- @/lua/ge/main.lua:896

function loadDirRec(dir)
  local foundfiles = FS:findFiles(dir, "*materials.cs\t*materials.json\t*datablocks.json", -1, true, false)
  local csMaterialFiles = {}
  local datablockFiles = {}
  local jsonMaterialFiles = {}

  for _, filename in ipairs(foundfiles) do
    if string.find(filename, 'datablocks.json') then
      table.insert(datablockFiles, filename)
    elseif string.find(filename, 'materials.json') then
      table.insert(jsonMaterialFiles, filename)
    elseif string.find(filename, 'materials.cs') then
      table.insert(csMaterialFiles, filename)
    end
  end

  -- load old CS materials first:
  for _, filename in ipairs(csMaterialFiles) do
    TorqueScriptLua.exec(filename)
  end

  -- then the new ones
  for _, filename in ipairs(jsonMaterialFiles) do
    loadJsonMaterialsFile(filename)
  end

  -- datablocks
  for _, filename in ipairs(datablockFiles) do
    loadJsonMaterialsFile(filename)
  end
end

Callers

@/lua/ge/extensions/editor/materialEditor.lua
    editor.logInfo("Loading all vehicles materials...")
    loadDirRec("vehicles/")
    --TODO: load all level materials too, assets folder too etc.
@/lua/ge/client/init.lua
  if not tableFindKey(cmdArgs, '-convertCSMaterials') then
    loadDirRec("core/art/datablocks/")
    loadDirRec("art/")
    loadDirRec("core/art/datablocks/")
    loadDirRec("art/")
    loadDirRec("assets/")
    loadDirRec("art/")
    loadDirRec("assets/")
  TorqueScriptLua.exec("core/art/datablocks/datablockExec.cs")
  loadDirRec("art/")