* combine rotation functions -- one no longer needs to choose
a particular rotation function for the node's paramtype2,
it'll figure it out automatically.
* fix glitch in wallmounted rotation
* re-order rotation facing order to N, E, S, W, floor, ceiling.
* limit yard sign to simple NESW-only rotation
* allow rotation of hanging signs (NESW only)
* allow rotation of signs on poles/posts if there's nothing in
the way of where the sign has to move to (NESW only).
minor re-factor as needed for that
don't store entities statically, let the LBM generate them.
this works around Minetest's reload-positioning inaccuracy at very large
positive or negative X/Z coords (tested -18000/+18000 at all four corners,
both new signs and after reboot)
if available on a given sign. The sign must have a
"foo:bar_widefont" variant, with the horizontal scaling set
appropriately (about half of the normal value for the
narrow-font sign)
Add new corresponding API to anto-generate those signs where
desired; use this feature in default wood and steel signs
(see api.lua and standard_signs.lua for examples)
make selectionbox call now ignores the old onpole flag (it's automatic now)
removed debug print()'s
moved the signs-on-fences lbm settings to here, from basic_signs.
some misc cleanups
added reference models for standard wooden sign ("wallmounted" on wall,
"facedir" on wall, and pole-mount variants, using standard-size pole
mount), and a separate .blend with street_signs' OM3 sign on slim pole
mount.
Any sign can now use a 15 or 31 px font, at any reasonable visual scale,
line width, number of lines, etc.
Split most signs off into a separate mod, basic_signs, which depends on
this one. Only the default minetest_game wood and steel signs remain in
signs_lib, completely redefined. The wall/yard/ceiling function for
wooden signs has been rewitten and moved to basic_signs, too.
signs_lib can now put almost any wall sign onto almost any kind of
posts/fence, as with most signs in my street_signs mod. Mods can add
their fences/posts to its "allowed" list, if needed (signs_lib tries to
detect most kinds of suitable fences, poles, posts, etc).
All signs affected by these changes are similar to what they've always
been, for continuity. The main difference is that they all use a 15px
font now, with a slightly larger scale, and the positions of some have
changed slightly.
Dropped the old "@KEYWORD" feature (but it could be re-added if it turns
out to be needed), and most of the old cruft like "|" for line breaks.
Created new wood and steel sign textures, derived from HDX.
See standard_signs.lua for examples of how the new API is used. The
"standard" text sizing/position/etc. variables are all at the top of
api.lua.
accessible by putting ^1 to ^8 (think "arrow number 1", etc) in your text
for narrow-width arrows (good for "wide font" highway signs), or ^a to ^h
for double-width arrows (good for all of the normal narrow-font signs).
in order, arrows 1 and "a" point up, 2/b points up-and-right, 3/c points
right, and so on, turning clockwise
Any other ^x pair just renders directly (no escape char, sorry)