Mothback/code/debug.lua
2022-03-06 09:35:45 +01:00

114 lines
3.3 KiB
Lua

function debugUI()
love.graphics.setScale()
local mouse_x, mouse_y = love.mouse.getPosition()
for _, light in pairs(LoadedObjects.Lights) do
love.graphics.print(light.pos.x,light.pos.x,light.pos.y)
love.graphics.print(light.pos.y,light.pos.x,light.pos.y+20)
love.graphics.print(light.pos.x,light.pos.x,light.pos.y+40)
end
love.graphics.print("time: ".. tostring(math.floor(100*game.seconds_since_start)/100) .." fps: "..fps_current, 10*text_size, 0*text_size, 0, text_size)
love.graphics.print(--[["CPUtime: "..checkCPUTime("total")..", CPU: "..(math.floor(checkCPUTime("get")*10000)/100).."%,]] "memory_usage: "..memory_usage.."kB", 10*text_size, 20*text_size, 0, text_size)
love.graphics.setColor(1,1,1)
-- lots of variables
love.graphics.print("LoadedObjects",10*text_size,40*text_size, 0, text_size)
local i = 1
for k, v in pairs(LoadedObjects) do
if type(v) == "table" then
love.graphics.print("<"..k.."> ".. #v,10*text_size,(40+(10*i))*text_size, 0, text_size)
i = i + 1
end
end
-- player isOnGroundCheck
--love.graphics.main_Player
love.graphics.setColor(1,0,0)
end
function debugColisions()
love.graphics.setScale(game.scale)
-- DrawColisionTable()
LoadedObjects.drawCollisions()
end
function debugEntities()
love.graphics.setScale(game.scale)
for _, particle in pairs(LoadedObjects.Particles) do
particle:debug()
end
for _, enty in pairs(LoadedObjects.Entities) do
enty:debug()
end
end
--[[CPUUsage = {}
function checkCPUTime(action, name)
if name then
if action == "start" then
if CPUUsage.name == nil then CPUUsage.name = {} end
CPUUsage.name.start = os.clock()
elseif action == "fin" then
CPUUsage.name.fin = os.clock()
CPUUsage.name.use = CPUUsage.name.fin - CPUUsage.name.start
if CPUUsage.name.total == nil then CPUUsage.name.total = 0 end
CPUUsage.name.total = CPUUsage.name.total + CPUUsage.name.use
print(CPUUsage.name.fin.." : "..CPUUsage.name.use.." : "..CPUUsage.name.total)
elseif action == "get" then
return CPUUsage.name.use
elseif action == "total" then
return CPUUsage.name.total
else
return CPUUsage.name.use
end
-- Totals
else
if action == "get" then
local currentTotalCPU = 0
for _, timings in ipairs(CPUUsage) do
currentTotalCPU = currentTotalCPU + CPUUsage.timings.use
end
return currentTotalCPU
elseif action == "total" then
local currentTotalCPU = 0
for _, timings in ipairs(CPUUsage) do
currentTotalCPU = currentTotalCPU + CPUUsage.timings.total
end
return currentTotalCPU
else
local currentTotalCPU = 0
for _, timings in ipairs(CPUUsage) do
currentTotalCPU = currentTotalCPU + CPUUsage.timings.use
end
return currentTotalCPU
end
end
end]]
function logPrint(string)
if logging then print(string) end
logWrite(string)
end
function logWrite(string)
if logging then logFile:write(string.."\n") end
end
local frameDebug_lines = {}
-- used for debug output that will be printed every frame
function frameDebug(str)
table.insert(frameDebug_lines, str)
end
-- called at the end of each frame, draw everything passed to frameDebug this frame
function frameDebugFlush()
local y = 0
love.graphics.setColor(100, 100, 100, 0.8)
for _, str in ipairs(frameDebug_lines) do
love.graphics.print(str, 2, y)
y = y + 10
end
frameDebug_lines = {}
end