Commit Graph

142 Commits

Author SHA1 Message Date
Vanessa Dannenberg
66774213e2 use the node's paramtype2 instead of its palette filename
to decide what the airbrush should do with it.

(that plus a few related changes allows coloredwood mod to make
the airbrush work on stairsplus cut plain wood slabs/slopes/et. al)
2018-09-12 18:32:04 -04:00
Vanessa Dannenberg
ad21862eee add hues+greys table 2018-09-12 16:38:42 -04:00
Vanessa Dannenberg
ad12387432 use "split" for split-89 palette instead of true. 2018-09-08 12:09:25 -04:00
Vanessa Dannenberg
7b18314235 drop support for the old 89 color palette - obsolete
(the full version)
2018-09-08 11:49:20 -04:00
Vanessa Dannenberg
73a062f026 don't register pink recipe twice for wallmounted 2018-09-08 11:30:14 -04:00
Vanessa Dannenberg
0413f23df1 fix incorrect handling of "azure" re: wallmounted palette
(it doesn't exist there :P  replaced with light blue)
also fixed missing craft helper recipe for same
and fixed missing light_red in color<->palette table.
2018-09-08 11:21:00 -04:00
Vanessa Dannenberg
8fbd9cd23b condense legend a bit
move selected dye label over next to/under "Your selection"
2018-09-08 11:08:37 -04:00
Vanessa Dannenberg
997d703b94 eliminate most egregious string concats in color select form
build it into a table and return table.concat()
instead of using foo = foo..bar or foo = bar..baz..meh  everywhere
2018-09-08 10:53:25 -04:00
Vanessa Dannenberg
95f009a282 show in color selector when a dye is on-hand in survival, but unavailable
(right-clicked node can't use it)
2018-09-08 10:24:08 -04:00
Vanessa Dannenberg
fb2c14b4a8 rename "available" overlay to "onhand" 2018-09-08 10:15:51 -04:00
Vanessa Dannenberg
42093582df show "on hand" indicators in "avail only" screen 2018-09-08 10:13:31 -04:00
Vanessa Dannenberg
3cbb25d92a pass inv to colored squared function 2018-09-08 10:09:42 -04:00
Vanessa Dannenberg
0589d8f02e dim-out the user's color choice in the color selector
and reject it on clicking "Accept",
if they went to "Show All" to select a color,
but then went back to "Show Avail" before clicking Accept.

(i.e. only accept what's shown as available to click on)
2018-09-08 10:05:13 -04:00
Vanessa Dannenberg
fc199cced4 moved the formspec code for the colored squares to its own function 2018-09-08 09:47:31 -04:00
Vanessa Dannenberg
da9ab7215c make airbrush show only the colors the right-clicked node can use
(with button to toggle between that mode and show-all)
2018-09-08 09:09:13 -04:00
Vanessa Dannenberg
19febc877d fix typo 2018-08-28 22:50:05 -04:00
Vanessa Dannenberg
c3036aba00 handle special case of split palette with full colors in node name
also check for ud_param2_colorable before proceeding to airbrush
also handle new -> old color names in split palette switching
2018-08-28 22:44:02 -04:00
Vanessa Dannenberg
d53fb146dd show the player's current painting-with color,
if no color is selected, if any

if no painting-with and no selected, shows a "?"
2018-08-27 20:01:15 -04:00
Vanessa Dannenberg
5b1051f8ae show the "your selection" legend in creative mode
(since it now shows the selected color instead of an empty box)
2018-08-27 19:52:15 -04:00
Vanessa Dannenberg
62806f795e better handling of exiting the color selector form
also prints a warning if the user clicked "Accept" without a color selected
2018-08-27 19:45:34 -04:00
Vanessa Dannenberg
057baacf2d make "Your selection" legend show your selected color
or show a "?" when a color hasn't been chosen
2018-08-27 19:30:36 -04:00
Vanessa Dannenberg
4dc4b0e08a fix broken re-painting of nodes using the split palettes
(broken in multiple places....oy.)

also, fix wrong light green shade in colorwallmounted palette

also, fixed many wrong/missing aliases and translations between old and current colors
(i.e. aqua<->spring, skyblue<->azure, redviolet<->rose)
2018-08-27 01:10:44 -04:00
Vanessa Dannenberg
3898337fc3 don't try to match last_color to registered_items table, that breaks aliases 2018-08-27 00:05:34 -04:00
Vanessa Dannenberg
088b5ee120 tweak switching-to msg 2018-08-26 22:35:40 -04:00
Vanessa Dannenberg
2e4c2e2667 add "***" to all other warning/info msgs 2018-08-26 22:31:56 -04:00
Vanessa Dannenberg
6ecb115465 warn the user to open the color selector
instead of crashing if they have no color set :-)
2018-08-26 22:27:43 -04:00
Vanessa Dannenberg
4dde37c191 remove "already that color" chat msg (some found it annoying) 2018-08-26 22:16:28 -04:00
Vanessa Dannenberg
c9d7733d87 use right-click (on any random node) to open the color selector
experimental code to read the param2 of a node and make a dye out of it
used by airbrush, shift-right-click to change to that color
2018-08-26 22:15:37 -04:00
Vanessa Dannenberg
0a589e7529 use shift-right-click for color select form
(instead of punch or shift-punch)

Must be pointing at a node, doesn't matter what it is, but with a range
of 12, it's hard not to.
2018-08-26 19:34:01 -04:00
Vanessa Dannenberg
409ee441c4 respect protection 2018-08-26 08:59:28 -04:00
Vanessa Dannenberg
ca1ab44e78 add recipe for airbrush 2018-08-26 08:41:04 -04:00
Vanessa Dannenberg
e13d514ff7 allow shift-punch for airbrush form 2018-08-26 08:28:56 -04:00
Vanessa Dannenberg
fa71e3166c allow replacement nodes during airbrushing 2018-08-26 07:23:40 -04:00
Vanessa Dannenberg
414d72d2a6 new punch-to-colorize scheme
using a tool, the airbrush, for the job

point at air/nothing and punch while wielding the airbrush
to open the color selection form.
2018-08-26 07:10:00 -04:00
Vanessa Dannenberg
568168fe1f better handling of the register_on_placenode rotation fix 2018-08-26 07:09:20 -04:00
Vanessa Dannenberg
c005dc358a minor changes to colorwallmounted palette
got rid of the separate brown swatch in the colorwallmounted palette, as
it was being bypassed by the brown-> medium orange translation --
replaced it with light green.

fixed missing colorwallmounted light blue/azure check-and-return in
get_paletteidx()
2018-08-25 02:40:17 -04:00
Vanessa Dannenberg
c7fc48c8d0 fix some broken aliases,
add some corresponding ones (unifieddyes:* vs. dye:*)
2018-08-25 00:38:24 -04:00
Vanessa Dannenberg
0d00a7eae6 workaround for placing nodes with no color info in itemstack 2018-08-24 11:13:42 -04:00
Vanessa Dannenberg
adf1bc2c50 remove the old obsolete on_use stuff
(was applied to dye items, obsolete now)
2018-08-24 05:41:27 -04:00
Vanessa Dannenberg
d3274ab66f remove debug prints 2018-08-22 20:07:15 -04:00
Vanessa Dannenberg
d2512952d9 forgot to add pink to craft helper 2018-08-22 20:06:29 -04:00
Vanessa Dannenberg
5557178cb4 proper handling of 89-color "split" palette in craft helper 2018-08-22 20:01:03 -04:00
Vanessa Dannenberg
4847b926d5 preserve color bits in rotation fixup calls 2018-08-22 04:25:43 -04:00
Vanessa Dannenberg
e3648f77e2 remove debug prints 2018-08-22 03:27:17 -04:00
Vanessa Dannenberg
b49ed1724b fix hue table type for wallmounted in craft helper 2018-08-22 03:14:20 -04:00
Vanessa Dannenberg
a55f6faa14 further refine how colored itemstacks work 2018-08-21 23:28:17 -04:00
Vanessa Ezekowitz
a8caed8195 separate the make-colored-itemstack code into its own function 2017-06-20 17:01:54 -04:00
Vanessa Ezekowitz
731c7d133e disable old after_dig_node() callbacks
(don't split a digged node into neutral+dye)
2017-06-20 17:01:54 -04:00
Vanessa Ezekowitz
ad8ab99bd8 disable auto-coloring code entirely 2017-06-20 17:01:54 -04:00
Vanessa Ezekowitz
07101b99fe add helper function for crafting param2-colorized items
One call registers the full set of 32, 89, or 256 colors.

Pass it a recipe of the following general form

```lua
unifieddyes.register_color_craft({
        output = "mymod:colorized_node",
        type = <nil or "shapeless">
        palette = <see below>,
        neutral_node = "some_mod:neutral_node",
        recipe = {
                <see below>
        }
})
```

palette may be either "wallmounted" (32 colors), false or omitted
entirely (89 colors), or "extended" (256 colors).

The recipe section is either a shapeless list, or a standard three-line
shaped recipe, same as the regular register_craft() function.  The key
difference is two placeholder keys that are now supported:

  * if an item in the recipe is "MAIN_DYE", then Unified Dyes will, with
    each pass of its registration loop, substitute the actual "dye:foo"
    craft item in its place which corresponds with the current loop's color.
  * if an item in the recipe list is "NEUTRAL_NODE", then the value of the
    "neutral_node" field will be substituted in its place.

The expectation here is that the modder probably has some base recipe in
mind that, given no dyes, would result in a neutral, uncolored node.  This
call creates all the recipes that would be needed to craft colored versions
of that neutral node either using that base recipe with dye added, or by
crafting the neutral node with some dye after the fact.
2017-06-20 17:01:54 -04:00