mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-08-15 10:47:21 +00:00
286 lines
7.3 KiB
Lua
286 lines
7.3 KiB
Lua
--- Tracing functions...
|
|
-- @module trace
|
|
-- @author Flightcontrol
|
|
|
|
trace = {}
|
|
trace.names = {}
|
|
trace.classes = {}
|
|
trace.scheduledfunction = ""
|
|
|
|
trace.names.all = false
|
|
trace.names.New = false
|
|
trace.names.Inherit = false
|
|
--trace.names.ClientGroup = true
|
|
trace.names.Scheduler = false
|
|
trace.names.ToCoalition = false
|
|
trace.names.ToClient = false
|
|
trace.names.do_scheduled_functions = false
|
|
trace.names.main = false
|
|
trace.names.Meta = false
|
|
trace.names.mistdisplayV3 = false
|
|
trace.names.f = false
|
|
trace.names.Spawn = false
|
|
trace.names.SpawnTrack = false
|
|
trace.names.SpawnGroupAdd = false
|
|
trace.names.SpawnInfantry = false
|
|
trace.names.SpawnPrepare = false
|
|
trace.names.SpawnInit = false
|
|
trace.names.SpawnInitSchedule = false
|
|
trace.names.SpawnFromCarrier = false
|
|
trace.names.SpawnGroup = false
|
|
trace.names.SpawnMissionGroup = false
|
|
trace.names.SpawnScheduled = false
|
|
trace.names.SpawnInZone = false
|
|
trace.names.Spawn = false
|
|
trace.names.ShowCargo = false
|
|
trace.names.AddCargo = true
|
|
trace.names.RemoveCargo = false
|
|
trace.names.MenuAction = false
|
|
trace.names.DeploySA6TroopsGoal = false
|
|
trace.names.AddEvent = false
|
|
trace.names.onEvent = false
|
|
trace.names.EventShot = false
|
|
trace.names.EventDead = false
|
|
trace.names.EventFunction = false
|
|
trace.names.ShowGoalProgress = false
|
|
trace.names.ReportGoalProgress = false
|
|
trace.names.ProgressTrigger = false
|
|
trace.names.IsGoalReached = false
|
|
trace.names.Validate = false
|
|
trace.names.Execute = false
|
|
trace.names.EnableEvents = false
|
|
trace.names.DisableEvents = false
|
|
trace.names.IsCompleted = false
|
|
trace.names.GetGoalCount = false
|
|
trace.names.GetGoalTotal = false
|
|
trace.names.SetGoalTotal = false
|
|
trace.names.GetGoalPercentage = false
|
|
trace.names.deepCopy = false
|
|
trace.names._Scheduler = false
|
|
trace.names._GetTemplate = false
|
|
trace.names.FollowPlayers = false
|
|
trace.names.AddPlayerFromUnit = false
|
|
trace.names.FromCarrier = false
|
|
trace.names.OnDeadOrCrash = false
|
|
trace.classes.CLEANUP = true
|
|
trace.cache = {}
|
|
|
|
trace.tracefunction = function( functionname )
|
|
|
|
if functionname then
|
|
if trace.names[functionname] then
|
|
return true
|
|
else
|
|
return false
|
|
end
|
|
else
|
|
return false
|
|
end
|
|
|
|
end
|
|
|
|
trace.f = function(object, parameters)
|
|
|
|
local info = debug.getinfo( 2, "nl" )
|
|
if trace.names.all or trace.tracefunction( info.name ) or trace.classes[object] then
|
|
|
|
local objecttrace = ""
|
|
if object then
|
|
objecttrace = object
|
|
end
|
|
trace.nametrace = ""
|
|
if info.name then
|
|
trace.nametrace = info.name
|
|
end
|
|
local parameterstrace = "()"
|
|
if parameters then
|
|
parameterstrace = "( " .. routines.utils.oneLineSerialize( parameters ) .. " )"
|
|
end
|
|
env.info( string.format( "%6d/%1s:%20s.%s" , info.currentline, "F", objecttrace, "function " .. trace.nametrace .. parameterstrace ) )
|
|
end
|
|
|
|
end
|
|
|
|
trace.scheduled = function(object, func, parameters)
|
|
|
|
local info = debug.getinfo( 2, "l" )
|
|
if trace.names.all or trace.tracefunction( func ) then
|
|
local objecttrace = ""
|
|
if object then
|
|
objecttrace = object
|
|
end
|
|
trace.nametrace = ""
|
|
if func then
|
|
trace.nametrace = func
|
|
end
|
|
trace.scheduledfunction = trace.nametrace
|
|
local parameterstrace = "()"
|
|
if parameters then
|
|
parameterstrace = "( " .. routines.utils.oneLineSerialize( parameters ) .. " )"
|
|
end
|
|
env.info( string.format( "%6d/%1s:%20s.%s" , info.currentline, "S", objecttrace, "function " .. trace.nametrace .. parameterstrace ) )
|
|
end
|
|
|
|
end
|
|
|
|
trace.s = function(object, parameters)
|
|
|
|
local info = debug.getinfo( 3, "nl" )
|
|
if trace.names.all or trace.tracefunction( info.name ) then
|
|
local objecttrace = ""
|
|
if object then
|
|
objecttrace = object
|
|
end
|
|
trace.nametrace = ""
|
|
if info.name then
|
|
trace.nametrace = info.name
|
|
end
|
|
trace.scheduledfunction = trace.nametrace
|
|
local parameterstrace = "()"
|
|
if parameters then
|
|
parameterstrace = "( " .. routines.utils.oneLineSerialize( parameters ) .. " )"
|
|
end
|
|
env.info( string.format( "%6d/%1s:%20s.%s" , info.currentline, "S", objecttrace, "scheduled " .. trace.nametrace .. parameterstrace ) )
|
|
end
|
|
|
|
end
|
|
|
|
trace.si = function(object, variable)
|
|
|
|
local info = debug.getinfo( 3, "nl" )
|
|
if info.name ~= trace.nametrace then
|
|
trace.nametrace = info.name
|
|
end
|
|
if trace.names.all or trace.tracefunction( trace.nametrace ) then
|
|
local objecttrace = ""
|
|
if object then
|
|
objecttrace = object
|
|
end
|
|
local variabletrace = ""
|
|
if variable then
|
|
variabletrace = "( " .. routines.utils.oneLineSerialize( variable ) .. " )"
|
|
end
|
|
|
|
env.info( string.format( "%6d/%1s:%20s.%s" , info.currentline, "S", objecttrace, trace.nametrace .. variabletrace) )
|
|
end
|
|
|
|
end
|
|
|
|
|
|
trace.l = function(object, func, variable)
|
|
|
|
local info = debug.getinfo( 2, "l" )
|
|
if trace.names.all or trace.tracefunction( func ) then
|
|
local objecttrace = ""
|
|
if object then
|
|
objecttrace = object
|
|
end
|
|
trace.nametrace = ""
|
|
if func then
|
|
trace.nametrace = func
|
|
end
|
|
local variabletrace = ""
|
|
if variable then
|
|
variabletrace = "( " .. routines.utils.oneLineSerialize( variable ) .. " )"
|
|
end
|
|
|
|
env.info( string.format( "%6d/%1s:%20s.%s" , info.currentline, "L", objecttrace, trace.nametrace .. variabletrace) )
|
|
end
|
|
|
|
end
|
|
|
|
trace.menu = function(object, func)
|
|
|
|
if trace.names.all then
|
|
local objecttrace = ""
|
|
if object then
|
|
objecttrace = object
|
|
end
|
|
trace.nametrace = ""
|
|
if func then
|
|
trace.nametrace = func
|
|
end
|
|
env.info( string.format( "%6d/%1s:%20s.%s" , 0, "M", objecttrace, trace.nametrace .. "()" ) )
|
|
end
|
|
|
|
end
|
|
|
|
trace.r = function(object, step, variable)
|
|
|
|
local info = debug.getinfo( 2, "nl" )
|
|
if info.name ~= trace.nametrace then
|
|
trace.nametrace = info.name
|
|
end
|
|
if trace.names.all or trace.tracefunction( trace.nametrace ) then
|
|
local objecttrace = ""
|
|
if object then
|
|
objecttrace = object
|
|
end
|
|
local steptrace = ""
|
|
if step then
|
|
steptrace = "< " .. step .. " >"
|
|
end
|
|
local variabletrace = ""
|
|
if variable then
|
|
variabletrace = "( " .. routines.utils.oneLineSerialize( variable ) .. " )"
|
|
end
|
|
env.info( string.format( "%6d/%1s:%20s.%s" , info.currentline, "R", objecttrace, "return " .. trace.nametrace .. variabletrace ) )
|
|
end
|
|
|
|
end
|
|
|
|
trace.e = function(object)
|
|
|
|
local info = debug.getinfo( 2, "nl" )
|
|
if info.name ~= trace.nametrace then
|
|
trace.nametrace = info.name
|
|
end
|
|
if trace.names.all or trace.tracefunction( trace.nametrace ) then
|
|
local objecttrace = ""
|
|
if object then
|
|
objecttrace = object
|
|
end
|
|
|
|
env.info( string.format( "%6d/%1s:%20s.%s" , info.currentline, "E", objecttrace, "end " .. trace.nametrace ) )
|
|
end
|
|
|
|
end
|
|
|
|
trace.i = function(object, variable)
|
|
|
|
local info = debug.getinfo( 2, "nl" )
|
|
if info.name ~= trace.nametrace then
|
|
trace.nametrace = info.name
|
|
end
|
|
if trace.names.all or trace.tracefunction( trace.nametrace ) or trace.classes[ object ] then
|
|
local objecttrace = ""
|
|
if object then
|
|
objecttrace = object
|
|
end
|
|
local variabletrace = ""
|
|
if variable then
|
|
variabletrace = "( " .. routines.utils.oneLineSerialize( variable ) .. " )"
|
|
end
|
|
|
|
env.info( string.format( "%6d/%1s:%20s.%s" , info.currentline, "I", objecttrace, trace.nametrace .. variabletrace) )
|
|
end
|
|
|
|
end
|
|
|
|
trace.x = function( object, variable )
|
|
|
|
local info = debug.getinfo( 2, "nl" )
|
|
trace.nametrace = info.name
|
|
local objecttrace = ""
|
|
if object then
|
|
objecttrace = object
|
|
end
|
|
local variabletrace = ""
|
|
if variable then
|
|
variabletrace = "( " .. routines.utils.oneLineSerialize( variable ) .. " )"
|
|
end
|
|
|
|
env.info( string.format( "%6d/%1s:%20s.%s" , info.currentline, "I", objecttrace, trace.nametrace .. variabletrace) )
|
|
|
|
end
|