alias WrapBug { window -dpfe @WrapBug -1 -1 320 240 }
on *:input:@WrapBug: {
var %a = @WrapBug , %w = $window(@WrapBug).dw , %h = $window(@WrapBug).dh
var %x = 0 , %y = $wrap($1-,$window(%a).font,$window(%a).fontsize,%w,0) , %height = $height($1-,$window(%a).font,$window(%a).fontsize)
var %b = 0 , %u = 0 , %r = 0 , %i = 0 , %bg = -1 , %fg = -1
while (%x < %y) {
inc %x
var %t = $wrap($1-,$window(%a).font,$window(%a).fontsize,%w,%x)
drawscroll -n %a 0 $calc(%height * -1) 0 0 %w %h
drawrect -nf %a $color(background) 1 0 $calc(%h - %height) %w %height
var %pre = $+($iif(%b,$chr(2)),$iif(%u,$chr(31)),$iif(%r,$chr(22)),$iif(%i,$chr(29)),$iif(%bg > -1 && %fg > -1,$+($chr(3),%fg,$chr(44),%bg),$iif(%fg > -1,$+($chr(3),%fg))))
drawtext -np %a $color(normal) 0 $calc(%h - %height) %pre $+ %t
if ($regex(CC,%t,/(\x03(?:(?:\d\d?)\x2c)?(?:\d\d?)|[\x02\x1f\x16\x03\x1d\x0f])/g)) {
var %x1 = 0 , %y1 = $v1
while (%x1 < %y1) {
inc %x1
var %cc = $regml(CC,%x1)
if (%cc = $chr(3)) { var %bg = -1 , %fg = -1 }
elseif (%cc = $chr(2)) { var %b = $xor(%b,1) }
elseif (%cc = $chr(31)) { var %u = $xor(%u,1) }
elseif (%cc = $chr(22)) { var %r = $xor(%r,1) }
elseif (%cc = $chr(29)) { var %i = $xor(%i,1) }
elseif (%cc = $chr(15)) { var %b = 0 , %u = 0 , %r = 0 , %i = 0 , %bg = -1 , %fg = -1 }
else {
if ($regex(%cc,/^\x03(\d\d?)$/)) { var %fg = $regml(1) }
elseif ($regex(%cc,/^\x03(\d\d?)\x2c(\d\d?)$/)) { var %fg = $regml(1) , %bg = $regml(2) }
}
}
}
}
drawdot %a
}