Vanessa Dannenberg
45c89704f0
Add lag mitigation
...
All messages sent to the displays are firstr enqueued, then "played
back" on globalstep, similar to biome_lib's deferred-generation method.
By default, no more than 10 messages will be added to the queue. If the
queue should exceed that, old messages will be deleted to make room for
new messages.
Messages will be pulled from the queue, one item per server tick, in the
order received, and relayed to their displays, if dtime <= 0.2s. If
dtime is greater, messages will be withheld until it decreases.
Autoscroll now limits the speed to 0.5s per step.
2019-08-21 19:34:07 -04:00
Vanessa Dannenberg
8d3a0e92de
Merge branch 'bad_unicode' into 'master'
...
add check to prevent bad unicode from crashing the server
See merge request VanessaE/led_marquee!4
2019-07-06 02:17:06 +00:00
flux
db78e3dcdb
add check to prevent bad unicode from crashing the server
2019-07-06 02:17:06 +00:00
Vanessa Dannenberg
da1deecb4c
use masking:
...
glyph images are now used as masks over the "leds_on" image
instead of the glyphs themselves looking like they're made of LEDs.
Makes font files much simpler, easier to draw, makes LEDs easier
to re-texture.
White for "on" LEDs, black for "off"
Also optimized all images (optipng, pngcrush)
2019-05-25 03:52:00 -04:00
Vanessa Dannenberg
df30ce9477
Use hardware overlay instead of an extra face
...
to display the LEDs, gets rid of Z fighting due
to Irrlicht rounding errors
2019-05-25 03:00:14 -04:00
Vanessa Dannenberg
b2defa0eec
Merge branch 'master' into 'master'
...
Added protection to marquee channel setup formspec
See merge request VanessaE/led_marquee!3
2019-03-24 19:44:27 +00:00
Emiel van Rooijen
4880b5c0c3
Added protection to marquee channel setup formspec
2019-03-24 19:58:23 +01:00
Vanessa Dannenberg
114856e529
license fixups: use LGPL3.0 for code, CC-by-SA 4.0 for media
2018-11-08 18:30:35 -05:00
Vanessa Dannenberg
589ab5f19a
don't reset scroll position if re-printing the same message
2018-08-22 18:40:58 -04:00
Vanessa Dannenberg
bbb2b57328
fix shifted block shades (char 143, 144)
2018-08-21 21:14:27 -04:00
Vanessa Dannenberg
1b2e898615
remove debug prints
2018-08-21 05:48:41 -04:00
Vanessa Dannenberg
2d74ccf8e6
fix the fix ;)
2018-08-21 04:59:58 -04:00
Vanessa Dannenberg
3f98601875
fix glitch where first byte of msg gets skipped on scroll
...
(causes color code to be displayed raw)
2018-08-21 04:47:00 -04:00
Vanessa Dannenberg
cf94878a46
consolidate timer sanity checking into led_marquee.set_timer
2018-08-21 04:22:22 -04:00
Vanessa Dannenberg
0bc150e64a
reduce allowed minimum timeout to 0.2s
2018-08-21 04:15:37 -04:00
Vanessa Dannenberg
f9f68d13ab
better centering for k
2018-08-21 01:35:45 -04:00
Vanessa Dannenberg
ddfed65b2a
better centering for y ÿ ý
2018-08-21 01:30:48 -04:00
Vanessa Dannenberg
85fd214907
better shape for "Ý"
2018-08-21 01:26:34 -04:00
Vanessa Dannenberg
4658f9eeff
better ring on "Å"
2018-08-21 01:03:10 -04:00
Vanessa Dannenberg
57cdabac78
better circumflexes
...
characters Â Ê Î Ô Û â ê î ô û
2018-08-21 00:59:48 -04:00
Vanessa Dannenberg
07f41b13d8
fix height of "Ø"
...
(capital O with stroke, char #216 )
2018-08-21 00:39:18 -04:00
Vanessa Dannenberg
9ca24f1f10
fix width of "L"
2018-08-21 00:37:51 -04:00
Vanessa Dannenberg
45ec33e78c
fix string length limits in README
2018-08-21 00:29:27 -04:00
Vanessa Dannenberg
f5512c4837
wield image
2018-08-21 00:27:07 -04:00
Vanessa Dannenberg
f7155b385e
don't forget to increment the string index for unrecognized chars
2018-08-20 21:33:04 -04:00
Vanessa Dannenberg
4c804e1851
forgot to lowercase chars in color codes table
2018-08-20 20:58:10 -04:00
Vanessa Dannenberg
87ebd877b8
update README accordingly
2018-08-20 20:34:36 -04:00
Vanessa Dannenberg
3ba2dbd1bd
use string.char(10) for newline, like it should be
...
(since colors are now strings)
2018-08-20 20:25:44 -04:00
Vanessa Dannenberg
452102cc7c
use printable strings for color codes
...
instead of string.char(0-27), use "/" as an escape followed by
"[0-9][A-R][a-r]", all inside the string.
e.g. digiline_send("chan", "/0this /1is /2some /3colorful /4text")
"/" followed by any other character than the above will be treated as an
invalid color code and will be taken literally.
"//" will print a single slash.
Note: on receipt, all instances of "//" in a message are actually
translated to string.char(30) -- one for each pair. This makes the
scrolling code easier. Keep this in mind if you use the "getstr" and
"getindex" commands.
Also, this expands the max string length to 6 kB, to allow a full 80x25
display with one color code er character. "clear" and "allon" remain at
2kB since that's still enough.
2018-08-20 20:24:31 -04:00
Vanessa Dannenberg
bee8d5c32d
increase string limit to 4 kB
...
(also pad "clear" and "allon" strings to 2 kB)
2018-08-19 02:06:00 -04:00
Vanessa Dannenberg
5cf5e0318a
documentation fixes
2018-08-17 18:20:41 -04:00
Vanessa Dannenberg
65a22e1c8e
drop support for "off_multi" (just use "clear")
...
renamed "allon_multi" to "allon"
2018-08-17 17:14:55 -04:00
Vanessa Dannenberg
c703dbfa74
add optional stepping value to "scroll_step"
2018-08-17 17:12:49 -04:00
Vanessa Dannenberg
0cacd9af9c
fix fencepost error
2018-08-17 15:43:41 -04:00
Vanessa Dannenberg
06b419a905
track colors properly in scrolling text
...
(also fixes timing glitches)
2018-08-17 15:24:21 -04:00
Vanessa Dannenberg
010dab660b
don't reset index to 1 on timer-start
...
(that's handled elsewhere)
also, pre-increment the index so that it matches what's displayed
2018-08-17 11:42:16 -04:00
Vanessa Dannenberg
5826209f16
always reset the scroll index to 1 on any new displayed message
2018-08-17 11:20:49 -04:00
Vanessa Dannenberg
b25b3ef995
use proper form of digilines.receptor_send()
2018-08-17 11:17:27 -04:00
Vanessa Dannenberg
b8a0f1cbb7
fix getindex
2018-08-17 11:03:07 -04:00
Vanessa Dannenberg
3d5380ef25
only reset the scroll index when starting the timer
...
(not when stopping it)
2018-08-17 10:48:33 -04:00
Vanessa Dannenberg
3df1e6454b
add "getindex" command to read the stored message's scroll index position
...
that is, the string index position of the first displayed character thereof.
2018-08-17 10:46:49 -04:00
Vanessa Dannenberg
e8c0fa93ca
more clarifications
2018-08-17 10:44:13 -04:00
Vanessa Dannenberg
ab0582ff97
update README accordingly
2018-08-17 10:39:20 -04:00
Vanessa Dannenberg
4af469f1aa
check for "get" and "get_string" in the right place :-P
2018-08-17 10:36:20 -04:00
Vanessa Dannenberg
d9499481cf
clarify "get" command
2018-08-17 10:34:40 -04:00
Vanessa Dannenberg
1823b6f0e5
get_str will now get the last displayed string from the master's meta
...
(instead of only the first char)
2018-08-17 10:33:48 -04:00
Vanessa Dannenberg
02216ee611
store single-byte messages in the meta also
2018-08-17 10:29:10 -04:00
Vanessa Dannenberg
10dcad8e06
store numeric message as a string in the master's meta
2018-08-17 10:27:27 -04:00
Vanessa Dannenberg
898a027a77
numeric messages are now printed in full
...
instead of just the first char.
2018-08-17 10:25:12 -04:00
Vanessa Dannenberg
922efe9210
clarify README regarding scrolling
...
also make sure to `return false` from the scroll_text function if the
scroll timer was last set to a value below the allowed minimum (which
would mean the user/program intended to shut it off by setting it to 0,
or the stepper was called manually, implying no timer)
2018-08-17 10:12:35 -04:00