55 lines
1.1 KiB
Lua
55 lines
1.1 KiB
Lua
function copy(t)
|
|
if type(t) ~= "table" then return t end
|
|
local meta = getmetatable(t)
|
|
local target = {}
|
|
for k, v in pairs(t) do target[k] = v end
|
|
setmetatable(target, meta)
|
|
return target
|
|
end
|
|
|
|
function st(tbl)
|
|
str = ""
|
|
for k, v in pairs(tbl) do
|
|
if v == true then
|
|
str = str .. k .. " "
|
|
end
|
|
end
|
|
return str
|
|
end
|
|
|
|
function sp(m, s, f)
|
|
if m == nil then m = 0 end
|
|
if s == nil then s = 0 end
|
|
if f == nil then f = 0 end
|
|
return m*3600 + s*60 + math.ceil(f * 0.6)
|
|
end
|
|
|
|
function vAdd(v1, v2)
|
|
return {
|
|
x = v1.x + v2.x,
|
|
y = v1.y + v2.y
|
|
}
|
|
end
|
|
|
|
function vNeg(v)
|
|
return {
|
|
x = -v.x,
|
|
y = -v.y
|
|
}
|
|
end
|
|
|
|
function formatTime(frames)
|
|
if frames < 0 then return formatTime(0) end
|
|
str = string.format("%02d", math.floor(frames / 3600)) .. ":"
|
|
.. string.format("%02d", math.floor(frames / 60) % 60) .. "."
|
|
.. string.format("%02d", math.floor(frames / 0.6) % 100)
|
|
return str
|
|
end
|
|
|
|
function formatBigNum(number)
|
|
local s = string.format("%d", number)
|
|
local pos = string.len(s) % 3
|
|
if pos == 0 then pos = 3 end
|
|
return string.sub(s, 1, pos)
|
|
.. string.gsub(string.sub(s, pos+1), "(...)", ",%1")
|
|
end |