1
0
mirror of https://github.com/mt-mods/signs_lib.git synced 2024-11-15 22:20:18 +01:00
Commit Graph

77 Commits

Author SHA1 Message Date
Wuzzy
b9f6b9269e Make a bunch of strings translatable 2023-07-04 11:01:39 +02:00
fluxionary
ed3a679bca
don't emit translation strings to the log (#17)
* don't emit translation strings to the log

* fix luacheck

* don't double-log signs_lib prefix
2022-12-10 14:36:58 -05:00
Buckaroo Banzai
5ae111e1fa
fix unconditional access to default global (#16)
Co-authored-by: BuckarooBanzay <BuckarooBanzay@users.noreply.github.com>
2022-11-25 21:33:34 +01:00
fluxionary
aff005e745
handle interactions w/ explosions (#14)
* prevent signs entities from being destroyed

* handle tnt destroying a sign

* remove redundant destructor call
2022-10-26 20:01:27 -04:00
Niklp
3d0e8d47e6
add setting for custom edit priv (#15)
* add setting for custom edit priv

* fix indent

* hmm maybe now?
2022-10-26 20:00:43 -04:00
Niklp
4018128e84
use signs_lib.S 2022-06-19 08:33:39 +02:00
Niklp09
a9858c76af use MT5 translator 2022-06-18 20:15:43 +02:00
flux
60d67afab3 force all signs into the sign group 2022-05-11 20:41:09 +02:00
fluxionary
4dbfbec96e
remove sign entity if sign is gone (due to voxelmanip or such) (#9) 2022-05-10 19:47:15 -04:00
Luke aka SwissalpS
14efa6eeb7
hotfix fake player action 2022-03-09 01:10:54 +01:00
wsor4035
b0808a376a
Remove default dependency (#6) 2022-02-07 23:54:55 +11:00
OgelGames
aa5f865131
Add luacheck (#3)
Co-authored-by: syimyuzya <syimyuzya@gmail.com>
2021-12-09 15:46:33 +11:00
Sekai Zhou
fe5cbb0a66
Full Unicode Plane 0 charset support (63000+ chars, only ~2MB) (#2)
Co-authored-by: SX <50966843+S-S-X@users.noreply.github.com>
2021-12-08 21:01:30 +11:00
Vanessa Dannenberg
1327cb2112 make sure digger is valid before checking for creative
(else assume survival)
2021-07-15 15:14:52 -04:00
OgelGames
c08eb3452f allow writing # on signs 2021-06-05 17:06:08 +10:00
Vanessa Dannenberg
3ee06f9ba2 protect against nil player on rightclick
(some mods' machines don't supply a valid player object)
2021-06-03 08:40:45 -04:00
Vanessa Dannenberg
02c19e89d9 don't try to run the glow code if the sign's being punched by a machine
that doesn't use a fake player object e.g. basic_machines
2021-05-29 08:03:50 -04:00
Vanessa Dannenberg
8b6f5e23a6 fix typo 2021-05-28 13:24:01 -04:00
tenplus1
85dd92fb25 update register_sign to add glow effect for all signs with allow_glow check. 2021-05-27 19:07:46 +00:00
tenplus1
16b9251511 Add glow feature to signs, with three brightness levels 2021-05-27 17:33:20 +00:00
Vanessa Dannenberg
b0fac5ef9f remove the old blue/starry background
(replaced with a transparent image so that
it can still be themed by Dreambuilder)
tidied up the formspec a bit
2021-03-04 09:40:14 -05:00
tenplus1
d71dcf4874 add text check for entity creation 2021-02-19 09:33:14 +00:00
Isidor Zeuner
707f633f0d Merge branch 'master' into nonascii 2021-02-17 17:37:11 +01:00
VanessaE
8527f1d5b2 writing [ or ] into a sign breaks the form for some users
the exact effect varies with client behavior and the particular text contents.
(characters erased, disappering formspec elements, loss of text)
2021-01-21 13:34:58 -05:00
Zughy
fe72e32396 update on off 2021-01-16 11:57:06 +01:00
Zughy
664e99d34a Sign and land owners always able to edit a sign 2021-01-08 18:29:44 +00:00
Zughy
e7ab3e66a7 Signs formspec as separate formspecs (instead of dwelling in nodes metadata) 2021-01-03 18:39:29 +00:00
Isidor Zeuner
4a196211ee Merge branch 'master' into nonascii 2020-11-26 05:53:45 +01:00
Isidor Zeuner
d956c87dbc support for non-ascii characters 2020-11-12 06:02:56 +01:00
VanessaE
1a6b9f38ff enable static save on signs' entities 2020-11-01 12:43:55 -05:00
VanessaE
b633a4bf8c fix wrong default sign entity ref 2020-04-16 17:06:07 -04:00
Vanessa Dannenberg
b52913d506 fix wrong textures for stick and hangers 2019-09-26 01:17:44 -04:00
Vanessa Dannenberg
ebeb035fac allow using "Sneak"/Shift to skip the on-pole/hanging/yard checks
(makes it possible to directly place a sign flat on the ground or
ceiling, among other things.)
2019-09-26 01:16:51 -04:00
Vanessa Dannenberg
e92177b83e allowing true for horizontal pole function makes no sense 2019-09-26 01:02:00 -04:00
Vanessa Dannenberg
684e9237cd don't allow top of bottom to be considered
a mountable surface on a a pole/post.
2019-09-26 01:00:15 -04:00
Vanessa Dannenberg
3836215268 API changes to allow for more mounting styles
NODE NAMES:

The base name of a node can be whatever you want.  The basic wall sign
will keep the node name you give, while its hanging, on-pole, and yard
variants will, where applicable, use the same name, with "_onpole",
"_hanging", or "_yard" appended.

One exception:

If your node has "_wall" in its name, that bit will be stripped-out when
generating the above node variations.  For example:

"default:sign_wall_wood"

...will become...

"default:sign_wood_onpole"
"default:sign_wood_hanging"
"default:sign_wood_yard"

MODELS:

The base sign model and entity files must now be named:

sign:   mymod_foosign_wall.obj
        mymod_foosign_facedir_wall.obj

entity: mymod_foosign_entity_wall.obj

their other variants, where applicable, must be:

mymod_foosign_onpole.obj
mymod_foosign_hanging.obj
mymod_foosign_yard.obj

mymod_foosign_entity_onpole.obj
mymod_foosign_entity_hanging.obj
mymod_foosign_entity_yard.obj

For `facedir` signs, the "_facedir" in the base sign model filename is
automatically stripped from the name when generating the entity model
filename, as entities don't have a concept of wallmounted/facedir/etc.
For example:

"mymod_foosign_facedir_wall.obj"

...will become...

"mymod_foosign_entity_wall.obj"

* allow passing custom onpole, hanging, and yard sign models, for
situations where the filename(s) thereof can't be derived from the base
sign model filename.

* allow passing a custom pole mount, hanging, and yard sign stick
textures as the third, fourth, and fifth tiles{} entries, respectively
(independent of the above model file option)

* fine-tuned the pole mount on the standard sign models to eliminate
overlapping faces (so it looks better with basic_signs' glass sign.

* Move basic_signs wooden yard sign back to signs_lib.
2019-09-26 00:48:53 -04:00
Vanessa Dannenberg
6a4ddfddab attempt to work around engine player model bug
when the world loads and the player spawns in, or is
teleported to the same node space as a sign, occasionally, the
player's model goes flat and their skin gets changed to the
whatever the sign's text is.

Also, when checking if an entity needs spawned, or when
deleting, try to make absolutely sure that only sign-related
entities will be selected for re-use, or selected for deletion
(we don't want some player's prize cow to be deleted)

I think this will fix it, or at least it'll surely prevent
signs_lib from being able to cause it.

Also, moved another function to the entity-handling section of
the file and made it global (signs_lib namespace) in the
process.
2019-09-25 17:10:00 -04:00
Vanessa Dannenberg
80c0fc6a7e Add README and basic modeling instructions, and document the API
Also, tweaked the object names in the standard sign Blender
project file, renamed it, renamed the small/slim pole mount
project file as well, and added a copy of the standard pole
mount project file.
2019-09-24 06:37:33 -04:00
Vanessa Dannenberg
de5926233a also include hanging widefont signs 2019-09-22 06:01:32 -04:00
Vanessa Dannenberg
ae6e707ebe forgot to include onpole_widefont signs in conversion list 2019-09-22 04:28:01 -04:00
Vanessa Dannenberg
dcdee22265 allow mods to pass a function or just true
to the pole and horiz pole check routines, in case they need
their own, custom checking routines, if the usual, simple
checks aren't good enough.

got rid of the allowed-poles table, as it's now obsolete

moved all existing special code into compat.lua, altered to
use this feature.
2019-09-22 03:19:31 -04:00
Vanessa Dannenberg
e4336e320c fix empty lines being skipped 2019-09-21 22:04:39 -04:00
Vanessa Dannenberg
d41e2ffd73 use a meta key to select wide-font mode
instead of using a separate node
add LBM to convert old nodes.
2019-09-21 21:42:46 -04:00
Vanessa Dannenberg
77987d12b9 detect streets:bigpole_tjunction
Treat T-junction as a vertical or horizontal pole (depending
on its orientation), if the sign could be placed flat against
the back or side of the junction.

In this instance, the "front" of the junction is the side with
the middle bit sticking out, and will just get a regular wall
signif targeted, as with any non-pole node.
2019-09-21 21:39:53 -04:00
Vanessa Dannenberg
dfece5275e rework horizontal pole detection slightly 2019-09-21 19:24:48 -04:00
Vanessa Dannenberg
6285d250d7 default "allow_onpole" to disabled
for consistency with other similar flags
2019-09-21 15:56:45 -04:00
Vanessa Dannenberg
9502812088 Add necessary bits to allow signs to be placed onto horizontal poles
(both wooden and steel signs)

only streets mod's "bigpole" supported for now.

Model changes:

To make a sign support horizontal mounting, make a single "_onpole"
model, with two copies of the pole mount, one rotated by 90°.  Make sure
the second copy appears has its own material entry, and that it is last
in the materials list in the exported .obj (`grep "g " file.obj` to
check).

When registered, signs_lib will set the "_onpole" and "_onpole_horiz"
tiles{} to reveal one mount or the other: entry 3 will expose the
vertical mount, entry 4 is the horizontal copy, with the opposite entry
being set to the "blank" image.
2019-09-21 15:45:48 -04:00
Vanessa Dannenberg
c66c1b70bd disable backface culling on the sign entity
(allows for transparent signs i.e. glass)
2019-09-19 01:02:44 -04:00
Vanessa Dannenberg
831055095c remove debug prints 2019-09-18 20:28:42 -04:00
Vanessa Dannenberg
f0bc18154e fix corner case
Placing a "wallmounted" sign onto a streets lamp would cause a
weird rotation if you're pointing downward too far.  Now it
enforces NESW direction according to your yaw.

Also fixes bad orientation when you're really close to a post.
2019-09-18 20:25:41 -04:00