Page 2 of 2
Re: Updated screendump +mpackage
Posted: Fri Oct 07, 2011 9:29 pm
by Vadi
Well it's something you'll have to find out as part of your project I guess, since the full html that was made passed validation, it was alright.
Re: Updated screendump +mpackage
Posted: Mon Oct 14, 2013 9:38 am
by icesteruk
Do the attachments on this need updating? or has it already been updated?
Re: Updated screendump +mpackage
Posted: Mon Oct 14, 2013 11:04 am
by Vadi
Updating what for... ?
Re: Updated screendump +mpackage
Posted: Mon Oct 14, 2013 11:25 am
by icesteruk
some code was posted after, Was wondering if that needed to be added to the script/attachments?
function logScreen(logdir, logfile)
if logfile == nil then
cecho("\n<red>Error:<white> You must sepecify a logname!")
return false
end
if string.char(getMudletHomeDir():byte()) == "/" then _sep = "/" else _sep = "\\" end
local logdir = logdir .. _sep .. logfile .. ".html"
local file_output = io.open(logdir, "w")
local fo = {}
local line_count = getLineCount()
local cur_buffer = getLines(1, line_count-1)
local curcolor = ""
local index = 0
local r,g,b = 0,0,0
local br,bg,bb = 0,0,0
local cbr,cbg,cbb --last bg colors
local cr,cg,cb -- last colors
local tc = 1 -- table count
local perf = createStopWatch()
startStopWatch(perf)
local conversions = {
["¦"] = "¦",
["×"] = "×",
["«"] = "«",
["»"] = "»"
}
fo[tc] = [[ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
<link href='http://fonts.googleapis.com/css?family=Droid+Sans+Mono' rel='stylesheet' type='text/css'>
<style type="text/css">
body {
background-color: black;
font-family: 'Droid Sans Mono';
white-space: pre;
font-size: 12px;
}
</style>
</head>
<body><span>]]
tc = tc + 1
for line_num,cur_line in ipairs(cur_buffer) do
index = 0
fo[tc] = string.format([[<span style="color: rgb(192,192,192);background: rgb(0,0,0);">%s</span>]], getTimestamp(line_num))
tc = tc +1
while index < #cur_line do
index = index + 1
moveCursor("main", index, line_num)
selectString(cur_line:sub(index), 1)
r,g,b = getFgColor()
br,bg,bb = getBgColor()
if cr ~= r or cg ~= g or cb ~= b or cbr ~= br or cbg ~= bg or cbb ~= bb then
cr,cg,cb = r,g,b
cbr,cbg,cbb = br,bg,bb
fo[tc] = string.format("</span><span style=\'color: rgb(%d,%d,%d);background: rgb(%d,%d,%d);'>%s", r,g,b,br,bg,bb, cur_line:sub(index, index))
tc = tc +1
else
fo[tc] = cur_line:sub(index, index)
tc = tc +1
end
cur_line:sub(index, index)
end
fo[tc] = "\n"
tc = tc +1
end
fo[#fo+1] = "</span></body></html>"
local s = table.concat(fo)
for from, to in pairs(conversions) do
s = string.gsub(s, from, to)
end
file_output:write(s)
file_output:close()
-- this can use quite a bit of memory on a large buffer, so free it up right away
collectgarbage("collect")
cecho("\n<cyan>Current buffer saved to: <white>" .. logdir .. "<cyan>, took <white>" .. stopStopWatch(perf) .. "ms<cyan>.")
end
Re: Updated screendump +mpackage
Posted: Mon Oct 14, 2013 7:43 pm
by Vadi
It doesn't need to be updated, I don't believe. No harm in trying to use it and seeing if background colours work.
Re: Updated screendump +mpackage
Posted: Tue Oct 15, 2013 7:10 am
by icesteruk
thanks
I justthought to ask before using it
Re: Updated screendump +mpackage
Posted: Fri Mar 09, 2018 7:41 pm
by ulysses
I found a bug with this script I think. I had to write this instead, using selectSection, which is a little more precise than selectString:
Code: Select all
for i=1,#myline do
selectSection(i-1,1)
moveCursor(i,getLineNumber())
local fr,fg,fb = getFgColor()
local br,bg,bb = getBgColor()
local ftri = fr .. "," .. fg .. "," .. fb
local btri = br .. "," .. bg .. "," .. bb
local colour = "<" .. ftri .. ":" .. btri .. ">"
table.insert(lineColour, colour)
end
The problem I've got is that if a letter is repeated in the line, then the first colour read gets applied to the second one!
the second one is actually the last character on the line, so selectString scans for a single letter, which it has a high chance of finding before the end of the line. It happened before with a line like
Code: Select all
'(Darkness) The glass of Leng (worthless)'
the second ess picked up the colour formatting of the first ess in Darkness