GE Lua Documentation

Press F to search!

onSerialize

Definition


-- @/lua/ge/extensions/render/hdr.lua:49

local function onSerialize()
    return {initialized = true}
end

Callers

@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veAdjustableTechCarTuner.lua

local function onSerialize()
  return {
@/lua/ge/extensions/editor/flowgraphEditor.lua

local function onSerialize()
  if not windows then return {} end
@/lua/ge/extensions/editor/crawlEditor.lua

local function onSerialize()
  local ret = {
@/lua/ge/extensions/editor/crawlEditor/waypoints.lua
  if not node or node.missing then return end
  self.beginDragNodeData = node:onSerialize()
  if node.hasNormal and node.normal then
    {old = self.beginDragNodeData,
     new = node:onSerialize(),
     index = self.index, self = self},
  if im.Button("Copy Fields") then
    self.cfData = fields:onSerialize()
  end
@/lua/ge/extensions/gameplay/crawl/saveSystem.lua

  local serializedData = boundary:onSerialize()
  if not serializedData then
@/lua/ge/extensions/c2/panelPlugins/tileManager.lua

local function onSerialize()
  return { debugState = debugState }
@/lua/ge/extensions/gameplay/rally/notebook/codriver.lua

function C:onSerialize()
  local ret = {
@/lua/ge/extensions/gameplay/drift/stuntZones.lua

local function onSerialize()
  clear()
@/lua/ge/extensions/gameplay/sites/zone.lua

function C:onSerialize()
  local verts = {}
    oldId = self.id,
    customFields = self.customFields:onSerialize(),
    top = {
@/lua/vehicle/extensions/tech/vehicleSystemsCoupling.lua

local function onSerialize()
  return {
@/lua/ge/extensions/campaign/dealer.lua

local function onSerialize()
  -- log('D', logTag, 'onSerialize called...')
@/lua/ge/extensions/gameplay/garageMode.lua

local function onSerialize()
  local data = {}
@/lua/ge/extensions/editor/raceEditor/pathnodes.lua
  if not node or node.missing then return end
  self.beginDragNodeData = node:onSerialize()
  if node.normal then
    {old = self.beginDragNodeData,
     new = node:onSerialize(),
     index = self.index, self = self},
    self.simpleDragMouseOffset = self.mouseInfo._downPos - hovered.pos
    self.beginDragNodeData = hovered:onSerialize()
    if hovered.normal then
  if not selected then return end
  local newData = selected:onSerialize()
  newData.pos = self.mouseHoldPos
        end,function(data) --redo
          data.nodeData = self.path.pathnodes.objects[data.index]:onSerialize()
          self.path.pathnodes:remove(data.index)
          editor.history:commitAction("Change Node Mode",
          {index = self.index, self = self, oldData = node:onSerialize()},
          function(data)
            editor.history:commitAction("Change Node Mode",
              {index = self.index, node = node, self = self, oldData = node:onSerialize(), wpName = wps[1].name},
              function(data)
                editor.history:commitAction("Change Node Mode",
                  {index = self.index, self = self, oldData = node:onSerialize(), wpName = wps[1].name},
                  function(data)
  if im.Button("Copy Fields") then
    self.cfData = fields:onSerialize()
  end
@/lua/ge/extensions/editor/sitesEditor/locations.lua
  end
  data.loc = loc:onSerialize()
  data.id = loc.id
  editor.history:commitAction("Remove Location",
    { self = self, list = self.list, loc = loc and loc:onSerialize(), id = loc and loc.id },
    createRedo, createUndo)
@/lua/ge/extensions/ui/console.lua

local function onSerialize()
  local d = {}
@/lua/ge/extensions/career/career.lua

local function onSerialize()
  local data = {}
@/lua/ge/extensions/core/vehicle/partmgmt.lua

local function onSerialize()
  return {
@/lua/ge/extensions/core/inventory.lua

local function onSerialize()
  -- log('D', logTag, 'onSerialize called...')
@/lua/ge/extensions/editor/raceEditor/pacenotes.lua
  if not note or note.missing then return end
  self.beginDragNoteData = note:onSerialize()
  if note.normal then
    {old = self.beginDragNoteData,
     new = note:onSerialize(),
     index = self.index, self = self},
        end,function(data) --redo
          data.noteData = self.path.pacenotes.objects[data.index]:onSerialize()
          self.path.pacenotes:remove(data.index)
@/lua/ge/extensions/freeroam/crashCamMode.lua

local function onSerialize()
  toggleActionCam(false)
@/lua/ge/extensions/gameplay/sites/sites.lua

function C:onSerialize()
  local ret = {
    description = self.description,
    locations = self.locations:onSerialize(),
    zones = self.zones:onSerialize(),
    locations = self.locations:onSerialize(),
    zones = self.zones:onSerialize(),
    parkingSpots = self.parkingSpots:onSerialize(),
    zones = self.zones:onSerialize(),
    parkingSpots = self.parkingSpots:onSerialize(),
    dir = self.dir,
@/lua/ge/extensions/editor/sidewalkSpline.lua
-- Serialise callback.
local function onSerialize()
  local sidewalkSplines = splineMgr.getSidewalkSplines()
@/lua/ge/extensions/editor/buildingEditor.lua

local function onSerialize()
--		print('??^^^^^^^^^^ onSerialize:'..tostring(scenetree.findObject('e_road')))
@/lua/vehicle/controller/vehicleController/vehicleController.lua

local function onSerialize()
  local controlLogicModuleData
  if controlLogicModule.onSerialize then
    controlLogicModuleData = controlLogicModule.onSerialize()
  end
@/lua/ge/extensions/gameplay/sites/customFields.lua

function C:onSerialize()
  local ret = {
@/lua/ge/extensions/editor/barriersEditor.lua

local function onSerialize()
end
@/lua/ge/extensions/core/hotlapping.lua
  filePath = filePath or rootDir..getCurrentLevelIdentifier()..'/'..now..'.race.json'
  jsonWriteFile(filePath, pathData:onSerialize(), true)
  log('I', logTag, 'Saved hotlapping config to file: '..filePath)
@/lua/ge/extensions/gameplay/forceField.lua

local function onSerialize()
  deactivate()
@/lua/ge/extensions/core/vehicleActivePooling.lua

function VehPool:onSerialize()
  local data = {}

local function onSerialize()
  local data = {}
  for _, pool in pairs(pools) do
    table.insert(data, pool:onSerialize())
  end
@/lua/ge/extensions/gameplay/util/damageAssessment.lua

local function onSerialize()
  return {
@/lua/ge/extensions/gameplay/parking.lua

local function onSerialize()
  local data = {active = active, debugLevel = M.debugLevel, parkedVehIds = deepcopy(parkedVehIds), trackedVehIds = tableKeys(trackedVehData), vars = deepcopy(vars)}
@/lua/ge/extensions/editor/drivePathEditor.lua
-- Serialise callback.
local function onSerialize()
  local drivePathSplines = splineMgr.getDrivePathSplines()
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veNodeTriSelfCollisionDetector.lua

local function onSerialize()
  return {
@/lua/ge/extensions/editor/meshSpline.lua
-- Serialise callback.
local function onSerialize()
  local meshSplines = splineMgr.getMeshSplines()
@/lua/ge/extensions/gameplay/util/crashDetection.lua

local function onSerialize()
  return {
@/lua/ge/extensions/editor/vehicleEditor/staticEditor/veJBeamVariablesChecker.lua

local function onSerialize()
  return {
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veRawData.lua

local function onSerialize()
  return {
@/lua/ge/extensions/freeroam/bigMapMode.lua

local function onSerialize()
  local data = {}
@/lua/ge/extensions/editor/crawlEditor/boundaries.lua
  if im.Button("Auto Planes") then
    local oldState = boundary:onSerialize()
    boundary:autoPlanes()
    editor.history:commitAction("Auto Planes",
      {boundary = boundary, old = oldState, new = boundary:onSerialize()},
      function(data)
  if im.Button("High Res Fence") then
    local oldState = boundary:onSerialize()
    boundary:makeHighResolutionFence()
    editor.history:commitAction("High Resolution Fence",
      {boundary = boundary, old = oldState, new = boundary:onSerialize()},
      function(data)
  if im.Button("Copy Fields") then
    self.cfData = fields:onSerialize()
  end
@/lua/ge/extensions/gameplay/rally/notebook/pacenote.lua

function C:onSerialize()
  for lang,langData in pairs(self.notes) do
    metadata = self.metadata,
    pacenoteWaypoints = self.pacenoteWaypoints:onSerialize(),
    structured = self.structured:onSerialize(),
    pacenoteWaypoints = self.pacenoteWaypoints:onSerialize(),
    structured = self.structured:onSerialize(),
    slowCorner = self.slowCorner,
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/vePropTransformer.lua

local function onSerialize()
  return {
@/lua/ge/extensions/gameplay/race/race.lua
        local fullpath = "raceRecord/"..os.date("!%Y-%m-%d--%H-%M-%S")..(self.saveFileSuffix and ("-"..self.saveFileSuffix) or "").."/"
        jsonWriteFile(fullpath.."path.path.json",self.path:onSerialize(), true)
        jsonWriteFile(fullpath.."times.json",state.historicTimes, true)
@/lua/ge/extensions/gameplay/sites/sitesManager.lua
  for fp, site in pairs(sitesCache) do
    ret.sitesCache[fp] = site:onSerialize()
  end
@/lua/ge/extensions/editor/sceneView.lua

local function onSerialize()
  local viewsSerialized = {}
@/lua/vehicle/controller/playerController.lua

local function onSerialize()
end
@/lua/ge/extensions/gameplay/drift/general.lua

local function onSerialize()
  return {
@/lua/ge/extensions/core/audio.lua

local function onSerialize()
    -- Note(AK) 20/07/2020: Uncomment to reenable hotloading banks on Ctrl + L, and delete the current return statment
@/lua/ge/extensions/freeroam/facilities/fuelPrice.lua

local function onSerialize()
  local d = {}
@/lua/ge/extensions/editor/driftDataEditor.lua

local function onSerialize()
  local ret = {
@/lua/ge/extensions/gameplay/missions/proceduralMissionGenerators/timeTrialMissions.lua
      if succ then
        local data = path:onSerialize()
        for _, field in ipairs(cacheFields) do data[field] = race[field] end
@/lua/ge/extensions/core/metrics.lua

local function onSerialize()
  return { currentMode = M.currentMode }
@/lua/ge/extensions/gameplay/rally/notebook/pacenoteWaypoint.lua

function C:onSerialize()
  local ret = {
@/lua/ge/extensions/editor/sitesEditor/sortedListDisplay.lua
  if im.Button("Copy Fields") then
    self.cfData = fields:onSerialize()
  end
  --if im.Button("Populate Others") then
    --local cfData = fields:onSerialize()
    --for _, o in ipairs(self.sorted) do
@/lua/ge/extensions/gameplay/backgroundActivities/g2g.lua

local function onSerialize()
  deactivate()
@/lua/ge/extensions/core/vehicles.lua

local function onSerialize()
  -- Don't serialize the vehsData list in the vehicle collections
@/lua/ge/extensions/core/cameraModes/bigMap.lua

function C:onSerialize()
  if self.mapBoundaries then
@/lua/ge/extensions/editor/assemblySpline.lua
-- Serialise callback.
local function onSerialize()
  local assemblySplines = splineMgr.getAssemblySplines()
@/lua/ge/extensions/editor/vehicleEditor/staticEditor/veJBeamBeautifier.lua

local function onSerialize()
  return {
@/lua/ge/extensions/gameplay/rally/notebook/path.lua

  local json = self:onSerialize()
  local saveOk = jsonWriteFile(fname, json, true)

function C:onSerialize()
  local langs = self:getLanguages()
    created_at = self.created_at,
    codrivers = self.codrivers:onSerialize(),
    pacenotes = self.pacenotes:onSerialize(),
    codrivers = self.codrivers:onSerialize(),
    pacenotes = self.pacenotes:onSerialize(),
    audioMode = self.audioMode,
@/lua/ge/extensions/gameplay/race/startPosition.lua

function C:onSerialize()
  local ret = {
@/lua/ge/extensions/editor/vehicleEditor/staticEditor/veJBeamSpellchecker.lua

local function onSerialize()
  return {
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/vePowerTrain.lua

local function onSerialize()
  return {
@/lua/ge/extensions/core/ropeVisualTest.lua

local function onSerialize()
  -- Save ALL UI state and settings
@/lua/ge/extensions/editor/sensorConfigurationEditor.lua
-- Serialization function.
local function onSerialize()
  for v = 1, #vehicles do
@/lua/ge/extensions/editor/vizHelper.lua

local function onSerialize()
  return {
@/lua/vehicle/bdebug.lua

local function onSerialize()
  return {
@/lua/ge/extensions/core/trafficSignals.lua

function SignalInstance:onSerialize()
  local data = {

function SignalController:onSerialize()
  for _, state in pairs(self.states) do

function SignalSequence:onSerialize()
  local data = {

local function onSerialize()
  local data = {}
    for _, v in ipairs(e) do
      table.insert(data[k], v:onSerialize())
    end
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veJBeamPicker.lua

local function onSerialize()
  return {
@/lua/ge/extensions/util/screenshotCreator.lua

local function onSerialize()
  return {
@/lua/ge/extensions/editor/scriptAIEditor.lua
-- Serialization function.
local function onSerialize()
  return { d = lpack.encode{
@/lua/ge/extensions/editor/crawlEditor/presets.lua

  local serializedData = boundary:onSerialize()
  local isValid, errorMsg = validateBoundaryPreset(serializedData)

      local serializedTrail = trail:onSerialize()
  if trail.path and trail.path.onSerialize then
    serializedTrail.path = trail.path:onSerialize()
  else
  if trail.boundary and trail.boundary.onSerialize then
    serializedTrail.boundary = trail.boundary:onSerialize()
  else
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veTCSDebug.lua

local function onSerialize()
  return {
@/lua/ge/extensions/freeroam/specialTriggers.lua

local function onSerialize()
  for k, _ in ipairs(triggers) do
@/lua/ge/extensions/editor/api/dynamicDecals.lua
M.saveLayerStackToFile = function(path_string)
  local data = M.onSerialize()
  data.materialIdx = nil
@/lua/ge/extensions/editor/textEditor.lua

local function onSerialize()
  local instancesCopy = deepcopy(guiInstancer.instances)
@/lua/ge/extensions/gameplay/rally/notebook/missionSettings.lua

function C:onSerialize()
  local ret = {
function C:write()
  local json = self:onSerialize()
  jsonWriteFile(self:fname(), json, true)
@/lua/ge/map.lua

local function onSerialize()
  return {isEditorEnabled, buildSerial}
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veVehicleSpawner.lua

local function onSerialize()
  return {
@/lua/ge/extensions/editor/raceEditor.lua
  if not race then race = currentPath end
  local json = race:onSerialize()
  jsonWriteFile(savePath, json, true)
  local newPath = require('/lua/ge/extensions/gameplay/race/path')("New Race")
  newPath:onDeserialized(currentPath:onSerialize())
          local newPath = require('/lua/ge/extensions/gameplay/race/path')("New Race")
          newPath:onDeserialized(currentPath:onSerialize())
          for _, pn in ipairs(newPath.pathnodes.sorted) do

local function onSerialize()
  local data = {
  local data = {
    path = currentPath:onSerialize(),
    previousFilepath = previousFilepath,
@/lua/ge/extensions/gameplay/crawl/general.lua

local function onSerialize()
  clear(true)
@/lua/ge/extensions/editor/slotTrafficEditor.lua

local function onSerialize()
  local data = {
@/lua/vehicle/controller.lua

local function onSerialize()
  local data = {}
@/lua/ge/extensions/gameplay/race/pathnode.lua

function C:onSerialize()
  local ret = {
    sidePadding = {self.sidePadding.x, self.sidePadding.y},
    customFields = self.customFields:onSerialize()
  }
@/lua/ge/extensions/core/multiseatCamera.lua

local function onSerialize()
  if multiseatEnabled then
@/lua/ge/extensions/core/vehicle/manager.lua

local function onSerialize()
  local data = {
@/lua/ge/extensions/gameplay/race/segment.lua

function C:onSerialize()
  local capsules = {}
@/lua/ge/extensions/core/flowgraphManager.lua
    fgEditor = editor_flowgraphEditor
    eSer = fgEditor.onSerialize()
  end

  local ser = M.onSerialize()
  M.onDeserialized(ser)

local function onSerialize()
  local mgrs = {}
@/lua/ge/extensions/flowgraph/nodes/types/number.lua

function C:onSerialize(res)
end
@/lua/ge/extensions/gameplay/rally/notebook/structured.lua

function C:onSerialize()
  return self.fields
@/lua/ge/extensions/core/commandhandler.lua

local function onSerialize()
  return {ignoreStartupCmd = true}
@/lua/ge/extensions/core/vehicle/mirror.lua

local function onSerialize()
  local data = {}
@/lua/ge/extensions/gameplay/drift/display.lua

local function onSerialize()
  setDriftUILayout(false)
@/lua/ge/extensions/core/loadMapCmd.lua

local function onSerialize()
  return {ignoreStartupCmd = true}
@/lua/ge/extensions/gameplay/util/sortedList.lua

function C:onSerialize(parent)
  local ret = {}
    if not o.isProcedural then
      table.insert(ret, o:onSerialize())
    end
@/lua/ge/extensions/core/vehicleTriggers.lua

local function onSerialize()
  return {
@/lua/ge/extensions/core/paths.lua

local function onSerialize()
  return {
@/lua/ge/extensions/gameplay/sites/parkingSpot.lua

function C:onSerialize()
  local rot = self.rotOrig or self.rot
    oldId = self.id,
    customFields = self.customFields:onSerialize()
  }
@/lua/ge/extensions/core/quickAccess.lua

local function onSerialize()
  setEnabled(false)
@/lua/ge/extensions/editor/forestEditor.lua

local function onSerialize()
  clearForestItemsSelection()
@/lua/ge/extensions/core/snapshot.lua

local function onSerialize()
  return {
@/lua/ge/extensions/core/couplerCameraModifier.lua

local function onSerialize()
  return {
@/lua/ge/extensions/editor/rallyEditor.lua

local function onSerialize()
  local data = {}
    data = {
      path = currentPath:onSerialize(),
      currentPathFname = (currentPath and currentPath.fname) or nil,
@/lua/ge/extensions/scenario/waypoints.lua

local function onSerialize()
  -- log('D', logTag, 'onSerialize called...')
@/lua/ge/extensions/gameplay/rally/transcripts/vehicleSnapshot.lua

function C:onSerialize()
  local ret = {
@/lua/ge/extensions/ui/messagesTasksAppContainers.lua

local function onSerialize()
  local data = {}
@/lua/ge/extensions/editor/main.lua

local function onSerialize()
  local data = {}
@/lua/ge/extensions/gameplay/rally/transcripts/path.lua
function C:save()
  local json = self:onSerialize()
  jsonWriteFile(self.fname, json, false)

function C:onSerialize()
  local ret = {
  local ret = {
    transcripts = self.transcripts:onSerialize(),
  }
@/lua/ge/extensions/editor/veMain.lua

local function onSerialize()
  local data = {}
@/lua/vehicle/controller/vehicleController/shiftLogic/electricMotor.lua

local function onSerialize()
  return {regenLevel = electrics.values.regenStrength or 0}
@/lua/ge/extensions/editor/mapSensorEditor.lua
-- Serialization function.
local function onSerialize()
  for i = 1, #sensors do
@/lua/ge/extensions/gameplay/rally/transcripts/entry.lua

function C:onSerialize()
  local ret = {
@/lua/ge/extensions/editor/raceEditor/segments.lua
  self.beginDragRadius = cap.radius
  self.beginDragSegmentData = self.path.segments.objects[self.index]:onSerialize()
end
    {old = self.beginDragSegmentData,
     new = self.path.segments.objects[self.index]:onSerialize(),
     index = self.index, capIndex = self.capsuleIndex,
  editor.history:commitAction(name,
   {old = old, new = self.path.segments.objects[self.index]:onSerialize(),
    index = self.index, capIndex = self.capsuleIndex, self = self},
      if self.mouseInfo.down  then
        local old = self.path.segments.objects[self.index]:onSerialize()
        if editor.keyModifiers.alt then
        if self.mouseInfo.down then
          local old = segment:onSerialize()
          segment:addCapsule(closest.pos, closest.radius,"new capsulepoint", closest.index)
          function(data)
            data.old = data.self.path.segments.objects[data.index]:onSerialize()
            data.self.path.segments:remove(data.index)
      if editEnded[0] then
        local old = segment:onSerialize()
        segment.name = ffi.string(nameText)
          if im.Selectable1('#'..i .. " - " .. node.name, segment:getFrom().id == node.id) then
            local old = segment:onSerialize()
            segment:setFrom(node.id)
          if im.Selectable1('#'..i .. " - " .. node.name, segment:getTo().id == node.id) then
            local old = segment:onSerialize()
            segment:setTo(node.id)
        if newMode then
          local old = segment:onSerialize()
          segment:setMode(newMode)
          if im.Selectable1("Create", false) then
            local old = segment:onSerialize()
            segment:addCapsule(
          if im.InputFloat3("Position", capsulePosition, "%0." .. editor.getPreference("ui.general.floatDigitCount") .. "f", im.InputTextFlags_EnterReturnsTrue) then
            local old = segment:onSerialize()
            cap.pos = vec3(capsulePosition[0], capsulePosition[1], capsulePosition[2])
          if im.InputFloat("Radius", capsuleRadius, 0.1, 0.5, "%0." .. editor.getPreference("ui.general.floatDigitCount") .. "f", im.InputTextFlags_EnterReturnsTrue) then
            local old = segment:onSerialize()
            if capsuleRadius[0] < 0 then
          if im.Button("Add Before") then
            local old = segment:onSerialize()
            segment:addCapsule(
          if im.Button("Add After") then
            local old = segment:onSerialize()
            segment:addCapsule(
          if im.Button("Remove") then
            local old = segment:onSerialize()
            segment:removeCapsule(self.capsuleIndex)
@/lua/ge/extensions/editor/trafficManager.lua
    for i, id in ipairs(session.lightsSorted) do
      local processed = session.lights[id]:onSerialize()
      processed.choiceIndex = session.lights[id].choiceIndex
    for i, v in ipairs(session.signalControllers) do
      local processed = v:onSerialize()
      processed.description = v.description
    for i, v in ipairs(session.signalSequences) do
      local processed = v:onSerialize()
      processed.description = v.description

local function onSerialize()
  local data = {}
@/lua/ge/extensions/core/trailerRespawn.lua

local function onSerialize()
  local data = {}
@/lua/ge/extensions/editor/sitesEditor/zones.lua
  if data.id and data.list.objects[data.id] and not data.list.objects[data.id].missing then
    zone:onDeserialized(data.list.objects[data.id]:onSerialize())
  end
  end
  data.zone = zone:onSerialize()
  data.id = zone.id
  editor.history:commitAction("Remove Zone",
    { self = self, list = self.list, zone = zone and zone:onSerialize(), id = zone and zone.id },
    createRedo, createUndo)
@/lua/ge/extensions/gameplay/walk.lua

local function onSerialize()
  return {togglingEnabled = togglingEnabled, vehicleBlacklist = vehicleBlacklist}
@/lua/ge/extensions/editor/preferences.lua

local function onSerialize(state)
  return { currentCategoryName = currentCategoryName }
@/lua/common/utils.lua
  if type(v['onSerialize']) == 'function' then
    return v['onSerialize'](reason) -- this is calling M.onSerialize()
  elseif v['state'] then
@/lua/ge/extensions/editor/sitesEditor.lua
  sites.name = filename
  local json = sites:onSerialize()
  jsonWriteFile(savePath, json, true)

local function onSerialize()
  local data = {
  local data = {
    path = currentSites:onSerialize()
  }
@/lua/ge/extensions/statistics/statistics.lua

local function onSerialize()
  -- log('D', logTag, 'onSerialize called...')
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veLightsDebug.lua

local function onSerialize()
  return {
@/lua/ge/extensions/gameplay/rally/settingsManager.lua
--     end
--     jsonWriteFile(settingsFname, missionSettings:onSerialize(), true)
--   end
@/lua/ge/extensions/gameplay/traffic.lua
local function freezeState() -- stops the traffic, police, and parking systems, and returns the state data
  return M.onSerialize(), gameplay_police.onSerialize(), gameplay_parking.onSerialize()
end
local function freezeState() -- stops the traffic, police, and parking systems, and returns the state data
  return M.onSerialize(), gameplay_police.onSerialize(), gameplay_parking.onSerialize()
end
local function freezeState() -- stops the traffic, police, and parking systems, and returns the state data
  return M.onSerialize(), gameplay_police.onSerialize(), gameplay_parking.onSerialize()
end

local function onSerialize()
  local trafficData = {}
  for _, veh in pairs(traffic) do
    table.insert(trafficData, veh:onSerialize())
  end
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veGeneralData.lua

local function onSerialize()
  return {
@/lua/ge/extensions/core/audioRibbon.lua
-- Serializes the ribbons.
local function onSerialize()
  if not ribbons or #ribbons < 1 then
@/lua/ge/extensions/gameplay/rally/recceSettings.lua
function C:save()
  local json = self:onSerialize()
  jsonWriteFile(self.fname, json, true)

function C:onSerialize()
  local ret = {
@/lua/ge/extensions/gameplay/speedTrapLeaderboards.lua

local function onSerialize()
  if not career_career.isActive() then
@/lua/ge/extensions/editor/dragRaceEditor.lua

local function onSerialize()
  return {
@/lua/ge/extensions/gameplay/sites/location.lua

function C:onSerialize()
  local ret = {
    oldId = self.id,
    customFields = self.customFields:onSerialize()
  }
@/lua/ge/extensions/core/groundMarkers.lua

local function onSerialize()
  core_groundMarkerArrows.clearArrows()
@/lua/ge/extensions/editor/vehicleEditor/staticEditor/veStaticRenderView.lua

local function onSerialize()
  saveSettings()
@/lua/ge/extensions/core/checkpoints.lua

local function onSerialize()
  -- log('D', logTag, 'onSerialize called...')
@/lua/ge/extensions/editor/scriptAIManager.lua
    if (not tableIsEmpty(recordings)) and im.SmallButton("save") then
      jsonWriteFile(persistenceFilename, M.onSerialize())
    end

local function onSerialize()
  return {recordings = recordings, vehState = vehState}
@/lua/ge/extensions/campaign/campaigns.lua

local function onSerialize()
  -- log('D', logTag, 'onSerialize called...')
@/lua/ge/extensions/gameplay/race/path.lua

function C:onSerialize()
  local ret = {
    defaultLaps = self.defaultLaps,
    pathnodes = self.pathnodes:onSerialize(),
    segments = self.segments:onSerialize(),
    pathnodes = self.pathnodes:onSerialize(),
    segments = self.segments:onSerialize(),
    pacenotes = self.pacenotes:onSerialize(),
    segments = self.segments:onSerialize(),
    pacenotes = self.pacenotes:onSerialize(),
    startNode = self.startNode,
    endNode = self.endNode,
    startPositions = self.startPositions:onSerialize(),
    classification = self:classify(),
  local cpy = require('/lua/ge/extensions/gameplay/race/path')('Copy of ' .. self.name)
  cpy.onDeserialized(self.onSerialize())
  return cpy
  end
  --jsonWriteFile("testTT.json",{track = trackInfo, data = self:onSerialize()}, true)
  return true
@/lua/ge/extensions/editor/shapeEditor.lua

local function onSerialize()
  local data = {}
@/lua/ge/extensions/editor/vehicleEditor/staticEditor/veJBeamModifierLeakVis.lua

local function onSerialize()
  return {
@/lua/ge/extensions/editor/missionPlaybook.lua

local function onSerialize()
  local data = {
@/lua/ge/extensions/gameplay/drift/freeroam/driftSpots.lua

local function onSerialize()
  return {
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veFlexbodyDebug.lua

local function onSerialize()
  return {
@/lua/ge/extensions/gameplay/drift/scoring.lua

local function onSerialize()
  return {
@/lua/ge/extensions/core/camera.lua

local function onSerialize()
  -- Revert log weight to levels' normal log weight instead of keeping the in-vehicle one
  for k,cam in pairs(getGlobalCameras()) do
    if cam.onSerialize then cam:onSerialize() end
    data.globalCameras[k] = serialize(cam)
@/lua/ge/extensions/gameplay/race/pacenote.lua

function C:onSerialize()
  local ret = {
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veCrashTester.lua

local function onSerialize()
  return {
@/lua/ge/extensions/editor/missionEditor.lua

local function onSerialize()
  local data = {
@/lua/ge/extensions/core/input/actionFilter.lua

local function onSerialize()
  local data = {}
@/lua/ge/extensions/editor/vehicleEditor/staticEditor/veJBeamTableVis.lua

local function onSerialize()
  return {
@/lua/ge/extensions/editor/masterSpline.lua
-- Serialisation callback.
local function onSerialize()
  local masterSplines = splineMgr.getMasterSplines()
@/lua/ge/extensions/editor/vehicleDetailViewer.lua

local function onSerialize()
  -- kill objects before serializing and convert pointers
      local layoutFilename = saveFolder .. baseFilename  .. '.vehicleDetailSetting.json'
      jsonWriteFile(layoutFilename, onSerialize())
      onDeserialized(jsonReadFile(layoutFilename))
        if im.SmallButton('overwrite##overwriteLayouy_'..tostring(lidx)) then
          jsonWriteFile(layoutFilename, onSerialize())
          onDeserialized(jsonReadFile(layoutFilename))
@/lua/ge/extensions/editor/raceEditor/startPositions.lua
  self.beginDragRotation = deepcopy(sp.rot)
  self.beginDragData = sp:onSerialize()
end
  editor.history:commitAction(name,
    {old = old, new = self.path.startPositions.objects[self.index]:onSerialize(),
    index = self.index, self = self},
          function(data)
            data.old = data.self.path.startPositions.objects[data.index]:onSerialize()
            data.self.path.startPositions:remove(data.index)
      if editEnded[0] then
        local old = sp:onSerialize()
        sp.name = ffi.string(nameText)
      if im.InputFloat3("Position", spPosition, "%0." .. editor.getPreference("ui.general.floatDigitCount") .. "f", im.InputTextFlags_EnterReturnsTrue) then
        local old = sp:onSerialize()
        sp.pos = vec3(spPosition[0], spPosition[1], spPosition[2])
      if scenetree.findClassObjects("TerrainBlock") and im.Button("Down to Terrain") then
        local old = sp:onSerialize()
        sp.pos = vec3(spPosition[0], spPosition[1], core_terrain.getTerrainHeight(sp.pos))
      if scenetree.findClassObjects("TerrainBlock") and im.Button("Align with Terrain") then
        local old = sp:onSerialize()
        local normalTip = sp.pos + sp.rot*vec3(0,-4.5, 0)
@/lua/ge/extensions/editor/vehicleEditor/staticEditor/vePartList.lua

local function onSerialize()
  return {
@/lua/ge/extensions/editor/sitesEditor/parkingSpots.lua
  end
  data.ps = ps:onSerialize()
  data.id = ps.id
  editor.history:commitAction("Remove Parking Spot",
    { self = self, list = self.list, ps = ps and ps:onSerialize(), id = ps and ps.id },
    createRedo, createUndo)
@/lua/ge/extensions/gameplay/drift/drift.lua
end
local function onSerialize()
  return {
@/lua/ge/extensions/editor/decalSpline.lua
-- Serialise callback.
local function onSerialize()
  local decalSplines = splineMgr.getDecalSplines()
@/lua/vehicle/energyStorage.lua

local function onSerialize()
  local data = {}
@/lua/ge/extensions/editor/rallyEditor/pacenotes.lua

  self.beginDragNoteData = wp:onSerialize()
    {old = self.beginDragNoteData,
     new = wp:onSerialize(),
     index = self.pacenoteToolsState.selected_wp_id, self = self},
      self.simpleDragMouseOffset = self.mouseInfo._downPos - hoveredWp.pos
      self.beginSimpleDragNoteData = hoveredWp:onSerialize()
        old = self.beginSimpleDragNoteData,
        new = wp_sel:onSerialize(),
        wasPWselection = self.wasWPSelected,
      notebook = self.path,
      old_pacenotes = deepcopy(self.path.pacenotes:onSerialize()),
    },
@/lua/ge/extensions/editor/trafficSignalsEditor.lua
  for _, instance in ipairs(instances) do
    table.insert(instancesSerialized, instance:onSerialize())
  end
  for _, ctrl in ipairs(controllers) do
    table.insert(controllersSerialized, ctrl:onSerialize())
  end
  for _, sequence in ipairs(sequences) do
    table.insert(sequencesSerialized, sequence:onSerialize())
  end
    if im.Button("Delete##instance") then
      local act = instances[selected.signal]:onSerialize()
      act.deleteIdx = selected.signal
    if im.Button("Delete##controller") then
      local act = currController:onSerialize()
      act.deleteIdx = selected.controller
    if im.Button("Delete##sequence") then
      local act = currSequence:onSerialize()
      act.deleteIdx = selected.sequence

local function onSerialize()
  local data = {options = options, signals = getSerializedSignals()}
@/lua/ge/extensions/gameplay/statistic.lua

local function onSerialize()
  _save()
@/lua/ge/extensions/ui/gameplayAppContainers.lua

local function onSerialize()
  local data = {}
@/lua/ge/extensions/editor/roadSpline.lua
-- Serialise callback.
local function onSerialize()
  local groups = groupMgr.getGroups()
@/lua/ge/extensions/gameplay/police.lua

local function onSerialize()
  local data = {vars = deepcopy(vars), propIds = deepcopy(policePropIds)} -- no need to cache police ids, they should automatically get reprocessed
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veAeroDebug.lua

local function onSerialize()
  return {
@/lua/ge/extensions/gameplay/traffic/vehicle.lua

function C:onSerialize()
  local data = {
    activeProbability = self.activeProbability,
    role = self.role:onSerialize()
  }
@/lua/ge/extensions/scenario/scenarios.lua

local function onSerialize()
  -- log('D', logTag, 'onSerialize called...')
@/lua/ge/simTimeAuthority.lua

local function onSerialize()
  -- TODO: serialize speed and state properly
@/lua/ge/extensions/campaign/exploration.lua

local function onSerialize()
  -- log('D', logTag, 'onSerialize called...')
@/lua/ge/extensions/gameplay/traffic/baseRole.lua

function C:onSerialize()
  local data = {
@/lua/ge/extensions/career/saveSystem.lua

local function onSerialize()
  local data = {}
@/lua/ge/extensions/editor/roadArchitect.lua
-- Serialization function.
local function onSerialize()
@/lua/ge/extensions/util/groundModelDebug.lua

local function onSerialize()
  return {