-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPrint.lua
68 lines (34 loc) · 1.22 KB
/
Print.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
local function sysPrint(...)
local concat = mindbox.concat(...) SCREENMAN:SystemMessage(concat)
end
mindbox.sysPrint = sysPrint
-- Shorten and format the string.
local function onSong(s)
local song = GAMESTATE:GetCurrentSong() if not song then return s end
song = song:GetSongDir() if not s:match(song) then return end
-- 1 is the starting position and last argument omit patterns.
local start, endPos = s:find( song, 1, true )
if not endPos then return s end
return "../SongsFolder/" .. s:sub( endPos + 1 )
end
local function onTrace(s)
local config = mindbox.Config
if not config.showTraces then return s end
return s .. "\n\n" .. debug.traceback(2)
end
local formats = { onSong, onTrace }
local function format(s)
s = s:gsub( "/BGAnimations/Resources/", "../" )
for i,v in ipairs(formats) do s = v(s) end
return s
end
local Message = "mind$box: Console was not loaded!"
local function print()
local console = mindbox.Console
if not console then sysPrint(Message) return end
console:playcommand("Print")
end
mindbox.print = function(...)
local s = mindbox.concat(...) s = format(s)
mindbox.currentText = s print()
end