VE Lua Documentation

Press F to search!

serializePackages

Definition


-- @/lua/common/utils.lua:1000

function serializePackages(reason)
  if reason == nil then reason = 'reload' end
  local tmp = {}
  for k, v in pairs(package.loaded) do
    if isPackage(k, v) and type(v) == 'table' and (v['onDeserialized'] ~= nil or v['onSerialize'] ~= nil) then
      local success, result = xpcall(_unsafeSerializePackage, debug.traceback, k, v, reason)
      if success then
        tmp[k] = result
      else
        log('E', 'serializePackages', 'Error serializing package '..k..': '..tostring(result))
      end
    end
  end

  tableMergeExceptFunc(tmp, extensions.getSerializationData(reason))
  return tmp
end

Callers

@/lua/ge/main.lua
  if not be then return end
  local d = serializePackages()
  d.levelLoaded = levelLoaded
@/lua/vehicle/beamstate.lua
  save.beamCount = tableSizeC(v.data.beams)
  save.luaState = serialize(serializePackages("save"))
  save.hydros = {}
@/lua/vehicle/main.lua
function exportPersistentData()
  local d = serializePackages("reload")
  --log('D', "default.exportPersistentData", d)