672 lines
31 KiB
Lua
672 lines
31 KiB
Lua
local ____lualib = require("lualib_bundle")
|
|
local __TS__ObjectKeys = ____lualib.__TS__ObjectKeys
|
|
local __TS__StringReplaceAll = ____lualib.__TS__StringReplaceAll
|
|
local __TS__StringReplace = ____lualib.__TS__StringReplace
|
|
local __TS__ArrayMap = ____lualib.__TS__ArrayMap
|
|
local __TS__StringAccess = ____lualib.__TS__StringAccess
|
|
local __TS__ArrayUnshift = ____lualib.__TS__ArrayUnshift
|
|
local __TS__New = ____lualib.__TS__New
|
|
local __TS__StringSplit = ____lualib.__TS__StringSplit
|
|
local __TS__ArrayPushArray = ____lualib.__TS__ArrayPushArray
|
|
local __TS__ArraySplice = ____lualib.__TS__ArraySplice
|
|
local __TS__StringSlice = ____lualib.__TS__StringSlice
|
|
local __TS__ArraySlice = ____lualib.__TS__ArraySlice
|
|
local __TS__Number = ____lualib.__TS__Number
|
|
local __TS__NumberIsInteger = ____lualib.__TS__NumberIsInteger
|
|
local __TS__StringIncludes = ____lualib.__TS__StringIncludes
|
|
local __TS__NumberIsNaN = ____lualib.__TS__NumberIsNaN
|
|
local __TS__StringStartsWith = ____lualib.__TS__StringStartsWith
|
|
local __TS__StringEndsWith = ____lualib.__TS__StringEndsWith
|
|
local ____exports = {}
|
|
local ____storyteller = require("code.engine.storyteller")
|
|
local ST = ____storyteller.ST
|
|
local STPoint = ____storyteller.STPoint
|
|
local STRectangle = ____storyteller.STRectangle
|
|
local STText = ____storyteller.STText
|
|
local ____global = require("code.global")
|
|
local accessor = ____global.accessor
|
|
local world = ____global.world
|
|
local utf8 = require("utf8")
|
|
local function textGen()
|
|
local sk = { {} }
|
|
local keys = __TS__ObjectKeys(world.schema)
|
|
table.sort(keys)
|
|
for ____, key in ipairs(keys) do
|
|
local ar = sk[#sk]
|
|
if #ar == 13 then
|
|
sk[#sk + 1] = { key }
|
|
else
|
|
ar[#ar + 1] = key
|
|
end
|
|
end
|
|
local help = { {} }
|
|
for ____, line in ipairs({
|
|
"ed - toggle engine debug display",
|
|
"fc - toggle map freecam",
|
|
"fps - get fps",
|
|
"fps <value> - set fps",
|
|
"help [page] - this command",
|
|
"r - return to last save",
|
|
"reset [level] - reset save file",
|
|
"rm - get map room index",
|
|
"rm <value> - set map room index",
|
|
"sk [page] - get save file keys",
|
|
"spd - get game speed",
|
|
"spd <value> - set game speed",
|
|
"sv <key> - get save file value",
|
|
"sv <key> <value> - set save file value",
|
|
"tp <x> <y> - teleport player"
|
|
}) do
|
|
local ar = help[#help]
|
|
if #ar == 13 then
|
|
help[#help + 1] = { line }
|
|
else
|
|
ar[#ar + 1] = line
|
|
end
|
|
end
|
|
return {
|
|
ed_on = "Engine debug display enabled",
|
|
ed_off = "Engine debug display disabled",
|
|
fc_prq = "{color=0xff3f3f}There is no map to toggle the freecam of!",
|
|
fc_on = "Map freecam enabled",
|
|
fc_off = "Map freecam disabled",
|
|
fps_err = "{color=0xff3f3f}<x> is not an integer between 1 and 60!",
|
|
fps_get = "FPS is <x>",
|
|
fps_set = "FPS set to <x>",
|
|
help_err = ("{color=0xff3f3f}<x> is not an integer between 1 and " .. tostring(#help)) .. "!",
|
|
help_header = ("Help (Page <x> of " .. tostring(#help)) .. ")",
|
|
help_pages = __TS__ArrayMap(
|
|
help,
|
|
function(____, lines)
|
|
return table.concat(
|
|
__TS__ArrayMap(
|
|
lines,
|
|
function(____, line)
|
|
return "{color=0x7f7fff}" .. __TS__StringReplace(
|
|
__TS__StringReplaceAll(
|
|
__TS__StringReplaceAll(
|
|
__TS__StringReplaceAll(
|
|
__TS__StringReplaceAll(line, "<", "{color=0xffff7f}<"),
|
|
">",
|
|
">{color=0xffffff}"
|
|
),
|
|
"[",
|
|
"{color=0xff7fff}["
|
|
),
|
|
"]",
|
|
"]{color=0xffffff}"
|
|
),
|
|
" - ",
|
|
"{color=0xffffff} - "
|
|
)
|
|
end
|
|
),
|
|
"\n"
|
|
)
|
|
end
|
|
),
|
|
hint = "(Press ESC to open console.)",
|
|
reset_err = "{color=0xff3f3f}<x> is not an integer between 0 and 2!",
|
|
rm_err = "{color=0xff3f3f}<x> is not an integer between 0 and <y>!",
|
|
rm_get = "Room index is {color=0x7f7fff}<x>{color=0xffffff}",
|
|
rm_set = "Room index set to {color=0x7f7fff}<x>{color=0xffffff}",
|
|
rm_prq = "{color=0xff3f3f}There is no map to set the room index of!",
|
|
sk_err = ("{color=0xff3f3f}<x> is not an integer between 1 and " .. tostring(#sk)) .. "!",
|
|
sk_header = ("Save File Keys (Page <x> of " .. tostring(#sk)) .. ")",
|
|
sk_pages = __TS__ArrayMap(
|
|
sk,
|
|
function(____, keys)
|
|
return table.concat(
|
|
__TS__ArrayMap(
|
|
keys,
|
|
function(____, key)
|
|
return __TS__StringAccess(key, 0) == "$" and "{color=0xff7fff}" .. key or
|
|
(__TS__StringAccess(key, 0) == "_" and "{color=0xffff7f}" .. key or "{color=0x7f7fff}" .. key)
|
|
end
|
|
),
|
|
"\n"
|
|
)
|
|
end
|
|
),
|
|
spd_err = "{color=0xff3f3f}<x> is not a number above 0 and at or below 2!",
|
|
spd_get = "Speed is <x>",
|
|
spd_set = "Speed set to <x>",
|
|
sv_arg = "{color=0xff3f3f}At least 1 argument is required!",
|
|
sv_err1 =
|
|
"{color=0xff3f3f}<x> is not a save file key!\nUse {color=0x7f7fff}sk{color=0xffffff} for a list of save file keys.",
|
|
sv_err2 =
|
|
"{color=0xff3f3f}<x> is not a save file value!\nUse outputs of {color=0x7f7fff}sv {color=0xffff7f}<key>{color=0xffffff} as examples.",
|
|
sv_get = "Value of {color=0x7f7fff}<x>{color=0xffffff} is {color=0x7f7fff}<y>{color=0xffffff}",
|
|
sv_set = "Value of {color=0x7f7fff}<x>{color=0xffffff} set to {color=0x7f7fff}<y>{color=0xffffff}",
|
|
tp = "Teleported to {color=0x7f7fff}<x>{color=0xffffff}x {color=0x7f7fff}<y>{color=0xffffff}y",
|
|
tp_arg = "{color=0xff3f3f}At least 2 arguments are required!",
|
|
tp_err1 = "{color=0xff3f3f}<x> is not a number!",
|
|
tp_prq = "{color=0xff3f3f}There is no player to teleport!",
|
|
unknown =
|
|
"{color=0xff3f3f}<x> is not a command!\n{color=0xffffff}Use {color=0x7f7fff}help{color=0xffffff} for a list of commands."
|
|
}
|
|
end
|
|
local function dybug(assets, canActivate)
|
|
if canActivate == nil then
|
|
canActivate = accessor["$option_debug"]
|
|
end
|
|
local text = textGen()
|
|
local dybug
|
|
dybug = {
|
|
active = false,
|
|
history = { "" },
|
|
history_index = 0,
|
|
input = function(self)
|
|
return dybug.history[dybug.history_index + 1]
|
|
end,
|
|
input_update = function(self, v)
|
|
if dybug.history_index ~= 0 then
|
|
dybug.history_index = 0
|
|
if dybug.history[1] ~= "" then
|
|
__TS__ArrayUnshift(dybug.history, v)
|
|
if #dybug.history == 1000 then
|
|
table.remove(dybug.history)
|
|
end
|
|
return
|
|
end
|
|
end
|
|
dybug.history[1] = v
|
|
end,
|
|
canActivate = canActivate,
|
|
cam_free = __TS__New(STPoint),
|
|
cam_standby = nil,
|
|
destroy = function(self)
|
|
love.keypressed = nil
|
|
love.wheelmoved = nil
|
|
love.textinput = nil
|
|
end,
|
|
display = __TS__New(STText,
|
|
{ font = assets["f$helloplayer"], offset = { x = -235, y = -175 }, priority = 1000000000, scale = 0.5 })
|
|
:addTicker(function(self)
|
|
if not dybug.canActivate then
|
|
self.alpha.value = 0
|
|
self.content = ""
|
|
elseif not dybug.active then
|
|
self.alpha.value = 0.5
|
|
self.content = text.hint
|
|
else
|
|
self.alpha.value = 1
|
|
self.content = ""
|
|
end
|
|
local ____opt_0 = dybug.map
|
|
if (____opt_0 and ____opt_0.camera) ~= dybug.cam_free then
|
|
return
|
|
end
|
|
local width, height = love.window.getMode()
|
|
local x = love.mouse.getX() * (ST.width / width)
|
|
local y = love.mouse.getY() * (ST.height / height)
|
|
if love.mouse.isDown(1) then
|
|
dybug.cam_free.x = dybug.mouse.value_camera.x - (x - dybug.mouse.click.x) / dybug.map.scale.x
|
|
dybug.cam_free.y = dybug.mouse.value_camera.y - (y - dybug.mouse.click.y) / dybug.map.scale.y
|
|
else
|
|
dybug.mouse.value_camera.x = dybug.cam_free.x
|
|
dybug.mouse.value_camera.y = dybug.cam_free.y
|
|
dybug.mouse.click.x = x
|
|
dybug.mouse.click.y = y
|
|
end
|
|
end),
|
|
log = {},
|
|
map = nil,
|
|
mouse = { click = { x = 0, y = 0 }, value_camera = { x = 0, y = 0 } },
|
|
player = nil,
|
|
print = function(self, ...)
|
|
local lines = { ... }
|
|
for ____, line in ipairs(lines) do
|
|
__TS__ArrayPushArray(
|
|
dybug.log,
|
|
__TS__StringSplit(line, "\n")
|
|
)
|
|
end
|
|
if #dybug.log <= 14 then
|
|
return
|
|
end
|
|
__TS__ArraySplice(dybug.log, 0, #dybug.log - 14)
|
|
end,
|
|
start = function(self)
|
|
if not dybug.canActivate then
|
|
return
|
|
end
|
|
dybug.active = true
|
|
dybug.display:attach(
|
|
__TS__New(STRectangle, {
|
|
scale = 2,
|
|
position = { y = 45 * 2 },
|
|
anchor = { x = 0.5, y = 1 },
|
|
size = { x = 240, y = 105 },
|
|
alpha = 0.5,
|
|
color = 0
|
|
}),
|
|
__TS__New(STRectangle, {
|
|
scale = 2,
|
|
position = { y = 60 * 2 },
|
|
anchor = { x = 0.5, y = 1 },
|
|
size = { x = 240, y = 15 },
|
|
alpha = 0.5
|
|
}),
|
|
__TS__New(STText, { font = assets["f$helloplayer"], position = { x = -120 * 2 + 5, y = -60 * 2 + 5 } })
|
|
:addTicker(function(self)
|
|
self.content = table.concat(dybug.log, "\n{reset}")
|
|
end),
|
|
__TS__New(STText,
|
|
{ font = assets["f$helloplayer"], position = { x = -120 * 2 + 5, y = 60 * 2 - 5 }, anchor = { y = 1 }, plain = true })
|
|
:addTicker(function(self)
|
|
self.content = dybug:input() .. "_"
|
|
end)
|
|
)
|
|
__TS__ArrayUnshift(dybug.history, "")
|
|
if #dybug.history == 1000 then
|
|
table.remove(dybug.history)
|
|
end
|
|
dybug.history_index = 0
|
|
end,
|
|
stop = function(self)
|
|
dybug.active = false
|
|
dybug.display:clear()
|
|
end
|
|
}
|
|
love.keypressed = function(key)
|
|
if not dybug.canActivate then
|
|
return
|
|
end
|
|
repeat
|
|
local ____switch41 = key
|
|
local ____cond41 = ____switch41 == "escape"
|
|
if ____cond41 then
|
|
if dybug.active then
|
|
dybug:stop()
|
|
else
|
|
dybug:start()
|
|
end
|
|
break
|
|
end
|
|
____cond41 = ____cond41 or ____switch41 == "backspace"
|
|
if ____cond41 then
|
|
do
|
|
if not dybug.active then
|
|
break
|
|
end
|
|
if love.keyboard.isDown("lctrl") or love.keyboard.isDown("rctrl") then
|
|
dybug:input_update("")
|
|
else
|
|
local input = dybug:input()
|
|
local length = utf8.len(input)
|
|
if length == 0 then
|
|
return
|
|
end
|
|
dybug:input_update(__TS__StringSlice(
|
|
input,
|
|
0,
|
|
utf8.offset(input, length) - 1
|
|
))
|
|
end
|
|
break
|
|
end
|
|
end
|
|
____cond41 = ____cond41 or ____switch41 == "up"
|
|
if ____cond41 then
|
|
dybug.history_index = math.min(dybug.history_index + 1, #dybug.history - 1)
|
|
break
|
|
end
|
|
____cond41 = ____cond41 or ____switch41 == "down"
|
|
if ____cond41 then
|
|
dybug.history_index = math.max(dybug.history_index - 1, 0)
|
|
break
|
|
end
|
|
____cond41 = ____cond41 or ____switch41 == "return"
|
|
if ____cond41 then
|
|
do
|
|
if not dybug.active then
|
|
break
|
|
end
|
|
local input = dybug:input()
|
|
dybug:input_update(input)
|
|
local ____TS__StringSplit_result_2 = __TS__StringSplit(input, " ")
|
|
local name = ____TS__StringSplit_result_2[1]
|
|
local args = __TS__ArraySlice(____TS__StringSplit_result_2, 1)
|
|
__TS__ArrayUnshift(dybug.history, "")
|
|
if #dybug.history == 1000 then
|
|
table.remove(dybug.history)
|
|
end
|
|
dybug.history_index = 0
|
|
repeat
|
|
local ____switch52 = name
|
|
local level
|
|
local ____cond52 = ____switch52 == "ed"
|
|
if ____cond52 then
|
|
if ST.debug then
|
|
ST.debug = false
|
|
dybug:print(text.ed_off)
|
|
else
|
|
ST.debug = true
|
|
dybug:print(text.ed_on)
|
|
end
|
|
break
|
|
end
|
|
____cond52 = ____cond52 or ____switch52 == "fc"
|
|
if ____cond52 then
|
|
if dybug.map == nil then
|
|
dybug:print(text.fc_prq)
|
|
elseif dybug.cam_standby == nil then
|
|
dybug.cam_standby = dybug.map.camera
|
|
dybug.cam_free:set(dybug.cam_standby)
|
|
dybug.map.camera = dybug.cam_free
|
|
dybug.map:cam_free()
|
|
dybug.map.autorestore = false
|
|
dybug:print(text.fc_on)
|
|
else
|
|
dybug.map.autorestore = true
|
|
local rm = dybug.map.rooms[dybug.map.room + 1]
|
|
dybug.map:cam_restore(rm.camera_min, rm.camera_max)
|
|
dybug.map.camera = dybug.cam_standby
|
|
dybug.cam_free:set(0)
|
|
dybug.cam_standby = nil
|
|
dybug.map.scale:set(1)
|
|
dybug:print(text.fc_off)
|
|
end
|
|
break
|
|
end
|
|
____cond52 = ____cond52 or ____switch52 == "fps"
|
|
if ____cond52 then
|
|
if #args == 0 then
|
|
dybug:print(__TS__StringReplace(
|
|
text.fps_get,
|
|
"<x>",
|
|
tostring(ST.fps)
|
|
))
|
|
else
|
|
local num = __TS__Number(args[1])
|
|
if __TS__NumberIsInteger(num) and 1 <= num and num <= 60 and not __TS__StringIncludes(args[1], ".") then
|
|
ST.fps = num
|
|
dybug:print(__TS__StringReplace(
|
|
text.fps_set,
|
|
"<x>",
|
|
tostring(num)
|
|
))
|
|
else
|
|
dybug:print(__TS__StringReplace(text.fps_err, "<x>", args[1]))
|
|
end
|
|
end
|
|
break
|
|
end
|
|
____cond52 = ____cond52 or ____switch52 == "help"
|
|
if ____cond52 then
|
|
do
|
|
local page
|
|
if #args == 0 then
|
|
page = 0
|
|
else
|
|
local num = __TS__Number(args[1])
|
|
if __TS__NumberIsInteger(num) and 1 <= num and num <= #text.help_pages and not __TS__StringIncludes(args[1], ".") then
|
|
page = num - 1
|
|
else
|
|
dybug:print(__TS__StringReplace(
|
|
text.help_err,
|
|
"<x>",
|
|
tostring(num)
|
|
))
|
|
break
|
|
end
|
|
end
|
|
dybug:print(
|
|
__TS__StringReplace(
|
|
text.help_header,
|
|
"<x>",
|
|
tostring(page + 1)
|
|
),
|
|
unpack(page < #text.help_pages and ({ text.help_pages[page + 1] }) or ({}))
|
|
)
|
|
break
|
|
end
|
|
end
|
|
____cond52 = ____cond52 or ____switch52 == "r"
|
|
if ____cond52 then
|
|
if dybug.map == nil then
|
|
love.event.quit("restart")
|
|
else
|
|
world:dump()
|
|
local ____opt_3 = dybug.map.task
|
|
if ____opt_3 ~= nil then
|
|
____opt_3.complete(nil)
|
|
end
|
|
end
|
|
break
|
|
end
|
|
____cond52 = ____cond52 or ____switch52 == "reset"
|
|
if ____cond52 then
|
|
if #args == 0 then
|
|
level = 0
|
|
else
|
|
local num = __TS__Number(args[1])
|
|
if __TS__NumberIsInteger(num) and 0 <= num and num <= 2 and not __TS__StringIncludes(args[1], ".") then
|
|
level = num
|
|
else
|
|
dybug:print(__TS__StringReplace(
|
|
text.reset_err,
|
|
"<x>",
|
|
tostring(num)
|
|
))
|
|
break
|
|
end
|
|
end
|
|
world:reset(level)
|
|
love.event.quit("restart")
|
|
break
|
|
end
|
|
____cond52 = ____cond52 or ____switch52 == "rm"
|
|
if ____cond52 then
|
|
if dybug.map == nil then
|
|
dybug:print(text.rm_prq)
|
|
elseif #args == 0 then
|
|
dybug:print(__TS__StringReplace(
|
|
text.rm_get,
|
|
"<x>",
|
|
tostring(dybug.map.room)
|
|
))
|
|
else
|
|
local num = __TS__Number(args[1])
|
|
if __TS__NumberIsInteger(num) and 0 <= num and num < #dybug.map.rooms and not __TS__StringIncludes(args[1], ".") then
|
|
local ____opt_5 = dybug.map.task
|
|
if ____opt_5 ~= nil then
|
|
____opt_5.complete(num)
|
|
end
|
|
dybug:print(__TS__StringReplace(
|
|
text.rm_set,
|
|
"<x>",
|
|
tostring(num)
|
|
))
|
|
else
|
|
dybug:print(__TS__StringReplace(
|
|
__TS__StringReplace(text.rm_err, "<x>", args[1]),
|
|
"<y>",
|
|
tostring(#dybug.map.rooms - 1)
|
|
))
|
|
end
|
|
end
|
|
break
|
|
end
|
|
____cond52 = ____cond52 or ____switch52 == "spd"
|
|
if ____cond52 then
|
|
if #args == 0 then
|
|
dybug:print(__TS__StringReplace(
|
|
text.spd_get,
|
|
"<x>",
|
|
tostring(ST.speed)
|
|
))
|
|
else
|
|
local num = __TS__Number(args[1])
|
|
if not __TS__NumberIsNaN(num) and 0 < num and num <= 2 then
|
|
ST.speed = num
|
|
dybug:print(__TS__StringReplace(
|
|
text.spd_set,
|
|
"<x>",
|
|
tostring(num)
|
|
))
|
|
else
|
|
dybug:print(__TS__StringReplace(text.spd_err, "<x>", args[1]))
|
|
end
|
|
end
|
|
break
|
|
end
|
|
____cond52 = ____cond52 or ____switch52 == "sk"
|
|
if ____cond52 then
|
|
do
|
|
local page
|
|
if #args == 0 then
|
|
page = 0
|
|
else
|
|
local num = __TS__Number(args[1])
|
|
if __TS__NumberIsInteger(num) and 1 <= num and num <= #text.sk_pages and not __TS__StringIncludes(args[1], ".") and not __TS__StringIncludes(args[1], "e") then
|
|
page = num - 1
|
|
else
|
|
dybug:print(__TS__StringReplace(
|
|
text.sk_err,
|
|
"<x>",
|
|
tostring(num)
|
|
))
|
|
break
|
|
end
|
|
end
|
|
dybug:print(
|
|
__TS__StringReplace(
|
|
text.sk_header,
|
|
"<x>",
|
|
tostring(page + 1)
|
|
),
|
|
unpack(page < #text.sk_pages and ({ text.sk_pages[page + 1] }) or ({}))
|
|
)
|
|
break
|
|
end
|
|
end
|
|
____cond52 = ____cond52 or ____switch52 == "sv"
|
|
if ____cond52 then
|
|
if #args == 0 then
|
|
dybug:print(text.sv_arg)
|
|
elseif not (accessor[args[1]] ~= nil) then
|
|
dybug:print(__TS__StringReplace(text.sv_err1, "<x>", args[1]))
|
|
elseif #args == 1 then
|
|
local value = accessor[args[1]]
|
|
dybug:print(__TS__StringReplace(
|
|
__TS__StringReplace(text.sv_get, "<x>", args[1]),
|
|
"<y>",
|
|
value == true and "true" or
|
|
(value == false and "false" or (type(value) == "string" and ("\"" .. value) .. "\"" or tostring(value)))
|
|
))
|
|
else
|
|
local value = table.concat(
|
|
__TS__ArraySlice(args, 1),
|
|
" "
|
|
)
|
|
if value == "true" then
|
|
accessor[args[1]] = true
|
|
dybug:print(__TS__StringReplace(
|
|
__TS__StringReplace(text.sv_set, "<x>", args[1]),
|
|
"<y>",
|
|
"true"
|
|
))
|
|
elseif value == "false" then
|
|
accessor[args[1]] = false
|
|
dybug:print(__TS__StringReplace(
|
|
__TS__StringReplace(text.sv_set, "<x>", args[1]),
|
|
"<y>",
|
|
"false"
|
|
))
|
|
elseif __TS__StringStartsWith(value, "\"") then
|
|
if __TS__StringEndsWith(value, "\"") then
|
|
accessor[args[1]] = string.sub(value, 2, -2)
|
|
dybug:print(__TS__StringReplace(
|
|
__TS__StringReplace(text.sv_set, "<x>", args[1]),
|
|
"<y>",
|
|
value
|
|
))
|
|
else
|
|
dybug:print(__TS__StringReplace(text.sv_err2, "<x>", value))
|
|
end
|
|
else
|
|
local num = __TS__Number(value)
|
|
if not __TS__NumberIsNaN(num) then
|
|
accessor[args[1]] = num
|
|
dybug:print(__TS__StringReplace(
|
|
__TS__StringReplace(text.sv_set, "<x>", args[1]),
|
|
"<y>",
|
|
tostring(num)
|
|
))
|
|
else
|
|
dybug:print(__TS__StringReplace(text.sv_err2, "<x>", value))
|
|
break
|
|
end
|
|
end
|
|
end
|
|
break
|
|
end
|
|
____cond52 = ____cond52 or ____switch52 == "tp"
|
|
if ____cond52 then
|
|
if dybug.player == nil then
|
|
dybug:print(text.tp_prq)
|
|
elseif #args < 2 then
|
|
dybug:print(text.tp_arg)
|
|
else
|
|
local t1 = __TS__StringAccess(args[1], 0) == "~"
|
|
local num1 = __TS__Number(t1 and string.sub(args[1], 2) or args[1])
|
|
if not __TS__NumberIsNaN(num1) then
|
|
local t2 = __TS__StringAccess(args[2], 0) == "~"
|
|
local num2 = __TS__Number(t2 and string.sub(args[2], 2) or args[2])
|
|
if not __TS__NumberIsNaN(num2) then
|
|
local x = (t1 and dybug.player.position.x or 0) + num1
|
|
local y = (t2 and dybug.player.position.y or 0) + num2
|
|
dybug.player.position.x = x
|
|
dybug.player.position.y = y
|
|
dybug:print(__TS__StringReplace(
|
|
__TS__StringReplace(
|
|
text.tp,
|
|
"<x>",
|
|
tostring(x)
|
|
),
|
|
"<y>",
|
|
tostring(y)
|
|
))
|
|
else
|
|
dybug:print(__TS__StringReplace(text.tp_err1, "<x>", args[2]))
|
|
end
|
|
else
|
|
dybug:print(__TS__StringReplace(text.tp_err1, "<x>", args[1]))
|
|
end
|
|
end
|
|
break
|
|
end
|
|
do
|
|
dybug:print(__TS__StringReplace(text.unknown, "<x>", name))
|
|
break
|
|
end
|
|
until true
|
|
break
|
|
end
|
|
end
|
|
until true
|
|
end
|
|
love.wheelmoved = function(x, y)
|
|
local ____temp_9 = not dybug.canActivate
|
|
if not ____temp_9 then
|
|
local ____opt_7 = dybug.map
|
|
____temp_9 = (____opt_7 and ____opt_7.camera) ~= dybug.cam_free
|
|
end
|
|
if ____temp_9 then
|
|
return
|
|
end
|
|
dybug.map.scale:set(y < 0 and dybug.map.scale.x / 2 ^ (1 / 4) or dybug.map.scale.x * 2 ^ (1 / 4))
|
|
end
|
|
love.textinput = function(text)
|
|
if not dybug.canActivate or not dybug.active then
|
|
return
|
|
end
|
|
dybug:input_update(dybug:input() .. text)
|
|
end
|
|
return dybug
|
|
end
|
|
____exports.default = dybug
|
|
return ____exports
|