Browse Source

expand old split-89 palette to 176 colors

(by adding more hues, now has all 24 in 7 shades each
plus 5 greys)
tags/2018-09-13-1
Vanessa Dannenberg 1 year ago
parent
commit
3eb3a9a330
27 changed files with 25 additions and 82 deletions
  1. +25
    -82
      init.lua
  2. BIN
      textures/unifieddyes_palette_ambers.png
  3. BIN
      textures/unifieddyes_palette_azures.png
  4. BIN
      textures/unifieddyes_palette_blues.png
  5. BIN
      textures/unifieddyes_palette_ceruleans.png
  6. BIN
      textures/unifieddyes_palette_chartreuses.png
  7. BIN
      textures/unifieddyes_palette_crimsons.png
  8. BIN
      textures/unifieddyes_palette_cyans.png
  9. BIN
      textures/unifieddyes_palette_fuchsias.png
  10. BIN
      textures/unifieddyes_palette_greens.png
  11. BIN
      textures/unifieddyes_palette_harlequins.png
  12. BIN
      textures/unifieddyes_palette_indigos.png
  13. BIN
      textures/unifieddyes_palette_limes.png
  14. BIN
      textures/unifieddyes_palette_magentas.png
  15. BIN
      textures/unifieddyes_palette_malachites.png
  16. BIN
      textures/unifieddyes_palette_mulberrys.png
  17. BIN
      textures/unifieddyes_palette_oranges.png
  18. BIN
      textures/unifieddyes_palette_reds.png
  19. BIN
      textures/unifieddyes_palette_redviolets.png
  20. BIN
      textures/unifieddyes_palette_roses.png
  21. BIN
      textures/unifieddyes_palette_sapphires.png
  22. BIN
      textures/unifieddyes_palette_skyblues.png
  23. BIN
      textures/unifieddyes_palette_springs.png
  24. BIN
      textures/unifieddyes_palette_turquoises.png
  25. BIN
      textures/unifieddyes_palette_vermilions.png
  26. BIN
      textures/unifieddyes_palette_violets.png
  27. BIN
      textures/unifieddyes_palette_yellows.png

+ 25
- 82
init.lua View File

@@ -41,26 +41,6 @@ else
S = function(s) return s end
end


unifieddyes.HUES = {
"red",
"orange",
"yellow",
"lime",
"green",
"aqua",
"cyan",
"skyblue",
"blue",
"violet",
"magenta",
"redviolet"
}

unifieddyes.HUES_WITH_GREY = table.copy(unifieddyes.HUES)
table.insert(unifieddyes.HUES_WITH_GREY, "grey")

-- the names of the various colors here came from http://www.procato.com/rgb+index/

unifieddyes.HUES_EXTENDED = {
@@ -90,6 +70,13 @@ unifieddyes.HUES_EXTENDED = {
{ "crimson", 0xff, 0x00, 0x40 }
}

unifieddyes.HUES_WITH_GREY = {}

for _,i in ipairs(unifieddyes.HUES_EXTENDED) do
table.insert(unifieddyes.HUES_WITH_GREY, i[1])
end
table.insert(unifieddyes.HUES_WITH_GREY, "grey")

unifieddyes.HUES_WALLMOUNTED = {
"red",
"orange",
@@ -162,8 +149,6 @@ unifieddyes.player_last_right_clicked = {}
unifieddyes.palette_has_color = {}
unifieddyes.player_showall = {}

-- unifieddyes.player_last_right_clicked[placer:get_player_name()] = {pos = pos, node = node, def = def}

-- if a node with a palette is placed in the world,
-- but the itemstack used to place it has no palette_index (color byte),
-- create something appropriate to make it officially white.
@@ -238,6 +223,7 @@ end
-- This helper function creates a colored itemstack

function unifieddyes.make_colored_itemstack(item, palette, color)
print(item, palette, color)
local paletteidx = unifieddyes.getpaletteidx(color, palette)
local stack = ItemStack(item)
stack:get_meta():set_int("palette_index", paletteidx)
@@ -247,13 +233,15 @@ end
-- these helper functions register all of the recipes needed to create colored
-- nodes with any of the dyes supported by that node's palette.

local function register_c(craft, hue, sat, val)
local function register_c(craft, h, sat, val)
local hue = (type(h) == "table") and h[1] or h
print(craft.output, craft.output_prefix, craft.output_suffix, h, hue, sat, val)
local color = ""
if val then
if craft.palette ~= "extended" then
if craft.palette == "wallmounted" then
color = val..hue..sat
else
color = val..hue[1]..sat
color = val..hue..sat
end
else
color = hue -- if val is nil, then it's grey.
@@ -294,7 +282,7 @@ local function register_c(craft, hue, sat, val)
end

function unifieddyes.register_color_craft(craft)
local hues_table = unifieddyes.HUES
local hues_table = unifieddyes.HUES_EXTENDED
local sats_table = unifieddyes.SATS
local vals_table = unifieddyes.VALS
local greys_table = unifieddyes.GREYS
@@ -306,7 +294,6 @@ function unifieddyes.register_color_craft(craft)
sats_table = {""}
vals_table = unifieddyes.VALS
elseif craft.palette == "extended" then
hues_table = unifieddyes.HUES_EXTENDED
vals_table = unifieddyes.VALS_EXTENDED
greys_table = unifieddyes.GREYS_EXTENDED
end
@@ -391,10 +378,10 @@ end
function unifieddyes.get_hsv(name) -- expects a node/item name
local hue = ""
local a,b
for _, i in ipairs(unifieddyes.HUES) do
a,b = string.find(name, "_"..i)
if a and not ( string.find(name, "_redviolet") and i == "red" ) then
hue = i
for _, i in ipairs(unifieddyes.HUES_EXTENDED) do
a,b = string.find(name, "_"..i[1])
if a then
hue = i[1]
break
end
end
@@ -424,9 +411,10 @@ end
-- in the function below, color is just a color string, while
-- palette_type can be:
--
-- "extended" = 256 color palette
-- "split" = 200 color palette split into pieces for colorfacedir
-- "wallmounted" = 32-color abridged palette


function unifieddyes.getpaletteidx(color, palette_type)

@@ -475,24 +463,6 @@ function unifieddyes.getpaletteidx(color, palette_type)
["black"] = 4,
}

local hues = {
["red"] = 1,
["orange"] = 2,
["yellow"] = 3,
["lime"] = 4,
["green"] = 5,
["aqua"] = 6,
["spring"] = 6,
["cyan"] = 7,
["skyblue"] = 8,
["azure"] = 8,
["blue"] = 9,
["violet"] = 10,
["magenta"] = 11,
["redviolet"] = 12,
["rose"] = 12,
}

local hues_extended = {
["red"] = 0,
["vermilion"] = 1,
@@ -627,19 +597,8 @@ function unifieddyes.getpaletteidx(color, palette_type)
shade = "light"
end
if palette_type == "split" then -- it's colorfacedir

-- If using this palette, translate new color names back to old.

if color == "spring" then
color = "aqua"
elseif color == "azure" then
color = "skyblue"
elseif color == "rose" then
color = "redviolet"
end

if hues[color] and shades[shade] then
return (shades[shade] * 32), hues[color]
if hues_extended[color] and shades[shade] then
return (shades[shade] * 32), hues_extended[color]+1
end
elseif palette_type == "extended" then
if hues_extended[color] and shades_extended[shade] then
@@ -730,7 +689,7 @@ function unifieddyes.on_airbrush(itemstack, player, pointed_thing)
newcolor = string.sub(painting_with, 5)
else
if hue ~= 0 then
newcolor = unifieddyes.HUES[hue]
newcolor = unifieddyes.HUES_EXTENDED[hue][1]
else
newcolor = "grey"
end
@@ -743,10 +702,6 @@ function unifieddyes.on_airbrush(itemstack, player, pointed_thing)
end
end

if newcolor == "spring" then newcolor = "aqua"
elseif newcolor == "azure" then newcolor = "skyblue"
elseif newcolor == "rose" then newcolor = "redviolet"
end
name = modname..":"..string.gsub(nodename2, oldcolor, newcolor)

if not minetest.registered_items[name] then
@@ -813,7 +768,7 @@ function unifieddyes.color_to_name(param2, def)
local h = color - v * 8
return unifieddyes.VALS[v]..unifieddyes.HUES_WALLMOUNTED[h+1]

elseif string.find(def.palette, "unifieddyes_palette") then -- it's the "split" 89-color palette
elseif string.find(def.palette, "unifieddyes_palette") then -- it's the split palette
-- palette names in this mode are always "unifieddyes_palette_COLORs.png"

local s = string.sub(def.palette, 21)
@@ -1206,14 +1161,6 @@ for _, h in ipairs(unifieddyes.HUES_EXTENDED) do
end
end
minetest.register_alias("unifieddyes:"..val..hue, "dye:"..val..hue)
if h[1] == "spring" then
minetest.register_alias("unifieddyes:"..val.."aqua", "dye:"..val.."spring")
elseif h[1] == "azure" then
minetest.register_alias("unifieddyes:"..val.."skyblue", "dye:"..val.."azure")
elseif h[1] == "rose" then
minetest.register_alias("unifieddyes:"..val.."redviolet", "dye:"..val.."rose")
end


if v > 3 then -- also register the low-sat version

@@ -1234,13 +1181,6 @@ for _, h in ipairs(unifieddyes.HUES_EXTENDED) do
groups = { dye=1, not_in_creative_inventory=1 },
})
minetest.register_alias("unifieddyes:"..val..hue.."_s50", "dye:"..val..hue.."_s50")
if h[1] == "spring" then
minetest.register_alias("unifieddyes:"..val.."aqua_s50", "dye:"..val.."spring_s50")
elseif h[1] == "azure" then
minetest.register_alias("unifieddyes:"..val.."skyblue_s50", "dye:"..val.."azure_s50")
elseif h[1] == "rose" then
minetest.register_alias("unifieddyes:"..val.."redviolet_s50", "dye:"..val.."rose_s50")
end
end
end
end

BIN
textures/unifieddyes_palette_ambers.png View File

Before After
Width: 8  |  Height: 1  |  Size: 93B

BIN
textures/unifieddyes_palette_azures.png View File

Before After
Width: 8  |  Height: 1  |  Size: 91B

BIN
textures/unifieddyes_palette_blues.png View File

Before After
Width: 8  |  Height: 1  |  Size: 99B Width: 8  |  Height: 1  |  Size: 91B

BIN
textures/unifieddyes_palette_ceruleans.png View File

Before After
Width: 8  |  Height: 1  |  Size: 93B

BIN
textures/unifieddyes_palette_chartreuses.png View File

Before After
Width: 8  |  Height: 1  |  Size: 91B

BIN
textures/unifieddyes_palette_crimsons.png View File

Before After
Width: 8  |  Height: 1  |  Size: 91B

BIN
textures/unifieddyes_palette_cyans.png View File

Before After
Width: 8  |  Height: 1  |  Size: 101B Width: 8  |  Height: 1  |  Size: 91B

BIN
textures/unifieddyes_palette_fuchsias.png View File

Before After
Width: 8  |  Height: 1  |  Size: 93B

BIN
textures/unifieddyes_palette_greens.png View File

Before After
Width: 8  |  Height: 1  |  Size: 91B Width: 8  |  Height: 1  |  Size: 91B

BIN
textures/unifieddyes_palette_harlequins.png View File

Before After
Width: 8  |  Height: 1  |  Size: 91B

BIN
textures/unifieddyes_palette_indigos.png View File

Before After
Width: 8  |  Height: 1  |  Size: 91B

BIN
textures/unifieddyes_palette_limes.png View File

Before After
Width: 8  |  Height: 1  |  Size: 99B Width: 8  |  Height: 1  |  Size: 93B

BIN
textures/unifieddyes_palette_magentas.png View File

Before After
Width: 8  |  Height: 1  |  Size: 101B Width: 8  |  Height: 1  |  Size: 91B

BIN
textures/unifieddyes_palette_malachites.png View File

Before After
Width: 8  |  Height: 1  |  Size: 91B

BIN
textures/unifieddyes_palette_mulberrys.png View File

Before After
Width: 8  |  Height: 1  |  Size: 93B

BIN
textures/unifieddyes_palette_oranges.png View File

Before After
Width: 8  |  Height: 1  |  Size: 99B Width: 8  |  Height: 1  |  Size: 91B

BIN
textures/unifieddyes_palette_reds.png View File

Before After
Width: 8  |  Height: 1  |  Size: 99B Width: 8  |  Height: 1  |  Size: 91B

BIN
textures/unifieddyes_palette_redviolets.png View File

Before After
Width: 8  |  Height: 1  |  Size: 99B

BIN
textures/unifieddyes_palette_roses.png View File

Before After
Width: 8  |  Height: 1  |  Size: 91B

BIN
textures/unifieddyes_palette_sapphires.png View File

Before After
Width: 8  |  Height: 1  |  Size: 91B

BIN
textures/unifieddyes_palette_skyblues.png View File

Before After
Width: 8  |  Height: 1  |  Size: 99B

BIN
textures/unifieddyes_palette_springs.png View File

Before After
Width: 8  |  Height: 1  |  Size: 91B

BIN
textures/unifieddyes_palette_turquoises.png View File

Before After
Width: 8  |  Height: 1  |  Size: 93B

BIN
textures/unifieddyes_palette_vermilions.png View File

Before After
Width: 8  |  Height: 1  |  Size: 91B

BIN
textures/unifieddyes_palette_violets.png View File

Before After
Width: 8  |  Height: 1  |  Size: 99B Width: 8  |  Height: 1  |  Size: 91B

BIN
textures/unifieddyes_palette_yellows.png View File

Before After
Width: 8  |  Height: 1  |  Size: 101B Width: 8  |  Height: 1  |  Size: 91B

Loading…
Cancel
Save