Commit Graph

73 Commits

Author SHA1 Message Date
bri cassa e389885f32 Merge remote-tracking branch 'upstream/master' 2023-11-22 23:43:21 +01:00
Niklp 0cc8f9e7a4
Maintenance + translation support (#2)
* maintenance + translation support

* fix too long line warning

* improvements through code review
2023-07-05 13:55:41 +02:00
bri cassa 0e3a251da5 Merge remote-tracking branch 'upstream/master' 2022-08-26 15:06:23 +02:00
Niklp 4732886317
maintenance (#1) 2022-07-24 10:28:24 -04:00
bri cassa 52e4fe1b0b Merge remote-tracking branch 'upstream/master' 2021-03-25 21:39:57 +01:00
Buckaroo Banzai aafa748f92 check proper `asc` range in digilines events too
fixes https://github.com/pandorabox-io/pandorabox.io/issues/629
2021-03-15 08:44:32 +00:00
Sys Quatre c09527c029 Merge branch 'gitlab' 2021-02-27 01:57:01 +01:00
Sys Quatre 108f0dad1a Fix deprecated use of use_texture_alpha 2021-02-27 01:46:36 +01:00
Sys Quatre 023966f9c4 Merge remote-tracking branch 'upstream/master' 2021-02-27 00:01:20 +01:00
Vanessa Dannenberg 63de1f5ab5 Don't allow engine to add the implicit "Proceed" button
(this change makes it possible to theme the formspec)
2021-02-25 02:08:22 -05:00
Sys Quatre 79bc4755dd Merge remote-tracking branch 'upstream/master' 2020-09-11 20:45:38 +02:00
OgelGames caf6e24d04 fix crash when "scroll_speed" is not a number 2020-09-09 19:22:14 +10:00
Sys Quatre b081594e2c Add loading message to action log 2020-07-23 16:01:08 +02:00
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
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
Emiel van Rooijen 4880b5c0c3 Added protection to marquee channel setup formspec 2019-03-24 19:58:23 +01: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 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 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 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 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 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
Vanessa Dannenberg 81a06dc054 add a command to immediately scroll the displayed message by one step
to be used in lieu of the three existing auto-scroll commands in case
you want the LuaC to handle the stepping.
2018-08-17 09:49:26 -04:00
Vanessa Dannenberg 3cee6172ae brain-o 2018-08-17 00:49:18 -04:00
Vanessa Dannenberg 053ee765c0 drop support for "off", "colon", "period", "del", "all_on" and "cursor" keywords
(use the actuall ascii chars instead, they do the same thing anyways, but can be part of a string)
2018-08-16 23:50:26 -04:00