Commit Graph

29 Commits

Author SHA1 Message Date
Vanessa Dannenberg
c647effff2 make µC and lamps optional depends
(they're only needed for crafting anyways)
2018-08-16 16:50:41 -04:00
Vanessa Dannenberg
ce9666cc48 local-ize functions 2018-08-16 13:22:02 -04:00
Vanessa Dannenberg
4d1d90cccc local-ize iso_chars 2018-08-16 13:21:28 -04:00
Vanessa Dannenberg
5ed4d1ef27 update README to follow 2018-08-16 13:20:26 -04:00
Vanessa Dannenberg
ee77614b97 treat strings prefixed with 0xff as Lua's weird UTF-8 encoding
translate them to bare ISO-8859-1 at print time

Only alters chars with codes > 0x9f, so graphics/symbols in the
0x7f-0x9f range and color and control codes < 0x20 are preserved

The routine assumes that any char code > 0x9f is the first byte of a
two-byte UTF-8 symbol.

Note that due to Minetest's busted formspecs, it's not possible to
actually type-in or copy-paste proper UTF strings to take advantage of
this mode, so it's only useful if the strings are generated by or
imported in from something else (e.g. a URL or something, or a LuaC
program that generates strings)
2018-08-16 13:14:27 -04:00
Vanessa Dannenberg
d0d127e837 rewrite README a bit, synchronize with forum post 2018-08-16 02:43:11 -04:00
Vanessa Dannenberg
b9a0656407 Added a "cursor position" command byte
updated README
2018-08-16 02:25:31 -04:00
Vanessa Dannenberg
4bb68ec009 basic multi-line support
Stack up a wall of LED panels, any horizontal and vertical amount

Set a channel on the upper left panel, leave the others un-set, and
connect a LuaC to it via digilines.

Long strings sent to that channel will be displayed using all panels,
starting at the upper-left and working from left to right, top to
bottom, wrapping from line to line as appropriate (similar to printing
to a shell terminal).

string.char(28) can be inserted anywhere to force a linefeed.

As usual, printing continues from node to node until the program either
finds a panel with a different non-empty channel than the first one, or
it finds a panel that's facing the wrong way.

If the program finds something other than a panel, it wraps to the next
line.  If it finds something other than a panel twice in a row, that
signals that text has wrapped off of the last row, and printing is cut
off.

Lines of panels don't need to be the same length, the program will wrap
as needed.

This commit also gets rid of the end-of-line padding, uses proper
string.rep() to create the all-off and all-on fills (each of which is
1kB), and fixes one or two other minor issues.

Strings are trimmed to 1 kB.

Panels are not erased between prints.
2018-08-16 01:46:03 -04:00
Vanessa Dannenberg
161623e869 fix minor mesh/triangulation glitch 2018-08-15 19:51:53 -04:00
Vanessa Dannenberg
d182766236 reduce color palette to 28 entries to make room for future control codes
(loses a dupe brown entry, and light blue and pink, which don't really work
well on a LED display)
2018-08-15 19:32:56 -04:00
Vanessa Dannenberg
09e5607d7a fix typo in docs 2018-08-15 19:17:39 -04:00
Vanessa Dannenberg
b9dd38c0de re-format palette to power-of-2 resolution 2018-08-15 19:05:05 -04:00
Vanessa Dannenberg
4fa6d54a4b fix undefined fdir in one spot
make some vars more readable
consolidate/cache fdir usage
2018-08-15 18:53:58 -04:00
Vanessa Dannenberg
157e517663 rename palette 2018-08-15 18:35:29 -04:00
Vanessa Dannenberg
e622f94dfc Merge branch 'led_marquee_gettext' into 'master'
Change intlib Getter (deprecated) to make_gettext_pair.

See merge request VanessaE/led_marquee!1
2018-08-15 22:13:43 +00:00
Vanessa Dannenberg
be7f72dfeb remove unused global 2018-08-15 18:12:35 -04:00
Vanessa Dannenberg
ec2cfdd87d update README to follow 2018-08-15 18:02:08 -04:00
Vanessa Dannenberg
2faab30e19 basic support for the ISO-8859-1 character set
(sorry, no UTF-8 here, Lue doesn't do multi-byte too well in this situation)
plus a bunch of symbols stuffed into the empty 128-159 range that should be
useful on a marquee:

128,129: musical notes
130-140: box drawing glyphs
141-144: block shades
145-152: arrows
153-156: explosion/splat
157-159: smileys

This commit changes the "all on" keyword to point to char(144), and
"cursor" is moved to char(31).
2018-08-15 17:26:30 -04:00
Vanessa Dannenberg
3a02591d28 fix swapped fdir checks 2018-08-15 14:57:20 -04:00
Vanessa Dannenberg
bd0e7d9bfa fix color range check 2018-08-15 14:28:38 -04:00
Vanessa Dannenberg
06d19f0d2e fix orientation checks
(broke at the 31-color update)
2018-08-15 14:27:55 -04:00
GreenXenith
b33de7a530 Change intlib Getter (deprecated) to make_gettext_pair. 2018-08-15 10:09:30 -07:00
Vanessa Dannenberg
7e4e738c99 update screenshot
(leftover from forking from nixies)
2018-08-15 11:55:25 -04:00
Vanessa Dannenberg
bb9f8575bc 31-color support 2018-08-15 10:48:04 -04:00
Vanessa Dannenberg
54b5ac53ad make "cursor" character flash via an animated texture 2018-08-15 03:47:56 -04:00
Vanessa Dannenberg
5c6285a292 new recipe
requires a few mesecons components (best I could come up with, but should be
fine since you already need LuaC to send messages at all)
2018-08-15 03:33:07 -04:00
Vanessa Dannenberg
53e3cf6d7c update README...
and ..um... track all the files :-)
2018-08-15 03:21:37 -04:00
Vanessa Dannenberg
a6502f0d90 multi-color support
send string.char(0 to 7) to change colors
(red=0, orange, yellow, green, cyan, blue, purple, magenta=7)

the panel remembers the last color used (saved in the meta of the
left-most/"master" panel node)
2018-08-15 03:08:05 -04:00
Vanessa Dannenberg
15d7e3277f Initial commit 2018-08-15 02:17:03 -04:00