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 = ("帮助(第 <x> 页,总页数:" .. 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
|