#!/usr/bin/env bash
#
# shellcheck disable=SC2034
# vim: set colorcolumn=13,37

set -o nounset     # expanding unset variables is fatal
set -o errtrace    # inherit trap on ERR in functions and subshells
shopt -s nullglob  # globs that match nothing expand to ""

basedir="$XDG_DATA_HOME/Steam/steamapps/common/devildaggers/allgrey"

source ./_colors

if ! command -v magick >/dev/null 2>&1 ; then echo "Missing dependency: imagemagick" 1>&2 ; exit 1 ; fi

log() {
  local msg=${1:-}
  local level="${2:-INFO}"
  now=$(date "+%Y-%m-%d %H:%M:%S%z")
  echo "$now $HOSTNAME $(basename "$0"):$level $msg" 1>&2
}

trap 'traperror $? $LINENO $BASH_LINENO "$BASH_COMMAND" $(printf "::%s" ${FUNCNAME[@]:-})' ERR
trap 'trapexit $? $LINENO' EXIT

trapexit() {
  log "EXIT on line $2 (exit status $1)" "INFO "
}

traperror () {
  set +xv
  local err=$1  # error status
  local line=$2  # LINENO
  local linecallfunc=$3
  local command="$4"
  local funcstack="$5"

  log "'$command' failed at line $line - exited with status: $err" "ERROR"

  if [ "$funcstack" != "::" ]; then
    message="Error in $funcstack"
    if [ "$linecallfunc" != "" ]; then
      message="$message called at line $linecallfunc"
    fi
    log "$message" "DEBUG"
  fi
}

setup() {
  echo "--- reset to defaults"
  if [[ ! -d /tmp/rustandgold/default/ ]] ; then
    mkdir -p /tmp/rustandgold/default/
    mkdir -p /tmp/rustandgold/Textures/
    cp -r ./default/Textures/ /tmp/rustandgold/default/
  fi
  rm -f dd-aaa-allgrey audio-aaa-allgrey
  rm -rf ./Textures || return
  mkdir Textures || return
  cp -r --reflink=auto /tmp/rustandgold/default/Textures/* ./Textures || return
  chmod -R +wx ./Textures
}

gamma() {
  file="./Textures/$(basename "${1}.png")"
  value="$2"
  echo shift gamme on "$file" by "$value"
  magick "$file" -gamma "$value" "$file"
}

blur() {
  echo blur "$file" by "$value"
  magick "$file" -adaptive-blur "$value" "$file"
}

invert() {
  echo negate image at "$1"
  file="$1"
  magick "$file" -negate "$file"
}

replace() {
  file="$1"
  target="$2"
  value="$3"
  fuzz="$4"
  echo Replace color "$target" with "$value" on "$file", fuzzing by "$fuzz%"

  magick "$file" -fuzz "$fuzz"% -fill "$target" -opaque "$value" "$file"
}

modulate() {
  echo modulate \(brightness,saturation,hue\) on "$1" by "$2"
  file="./Textures/$(basename "${1/.png/}").png"
  value="$2"

  magick -define modulate:colorspace=HSB "$file" -modulate "$value" "$file"
}

modulate_targeted() {
  file="$1"
  target_color="$2"
  value="$3"
  fuzz="${4:-10}"
  echo "modulate color $target_color by $value on $file, fuzzing by $fuzz%"

  ( set -x ; 
    magick "$file" \
    \( +clone -modulate "$value" \
      \( -clone 0 -fuzz "$fuzz%" -fill white -opaque "$target_color" -fill black +opaque white \) \
      -compose CopyOpacity -composite \) \
    -compose Over -composite \
    "$file"
  ) 2>&1
}

mult() {
  echo modulate exposure on image at "$1" with value "$2"
  file="./Textures/$(basename "${1/.png/}").png"
  value="$2"
  magick "$file" -evaluate Multiply "$2" "$file"
}

fill() {
  echo fill image at "$1" with the color in "$2"
  tmpfile=$(mktemp --suffix=.png)
  file="./Textures/$(basename "${1/.png/}").png"
  color="$2"

  magick -size 100x100 xc:"$color" "$tmpfile" && mv "$tmpfile" "$file"
}

bc() {
  echo adjust brightness-contrast on "$1" with value \'"$2"\'-\'"$3"\'
  file="./Textures/$(basename "${1/.png/}")"
  brightness="${2:-0}"
  contrast="${3:-0}"

  # adjust the texture
  magick "$file.png"       -brightness-contrast "$brightness"x"$contrast" "$file.png"      || return
}

colorize() {
  file="./Textures/$(basename "${1/.png/}").png"
  color="${2:-$COLOR_GOLD}"
  tint="${3:-100}"
  colorspace="${4:-gray}"
  echo colorize texture "$file" with "$color", tint "$tint", colorspace "$colorspace"

  magick "$file" -colorspace "$colorspace" -fill "$color" -tint "$tint" "$file"
}

colorize2() {
  file="./Textures/$(basename "${1/.png/}").png"
  color="${2:-$COLOR_GOLD}"
  tint="${3:-100}"
  colorspace="${4:-gray}"
  echo colorize texture "$file" with "$color", tint "$tint", colorspace "$colorspace"

  magick "$file" -colorspace gray +level-colors "black,$color" "$file"
}

main() {
  cd "$basedir" || return

  setup || return

  set -e

  echo "--- logo and titlecards"
  for file in ./Textures/logo*.png; do
    colorize "$(basename "${file/.png/}")" "$COLOR_GOLD"
  done
  colorize  "sorathtexture"         "$COLOR_GOLD"

  echo "--- tiles"
  mult      "tile"                  0.75
  bc        "tile"                 -1 2
  fill      "pillar"                "$COLOR_RED_RUST_FOG"
  bc        "pillar"                -3 0
  mult      "pillar"                0.85

  echo "--- thorn"
  bc        "thorn"                  -2 2
# modulate_targeted     "./Textures/thorn.png"     "#AD5555"   100,100,025  00
# iv default/Textures/thorn.png Textures/thorn.png &
# modulate_targeted     "./Textures/thorn.png"     "#f49f00"   100,100,095  03
  bc        "rubble"                 -2 2
  colorize2 "rubble"                 "$COLOR_GRAY_STONE"

  echo "--- skulls"
  colorize  "boid"                  "$COLOR_GRAY_BONE"
  bc        "boid"                  10 25
  mult      "boid"                  1.20

  fill      "boid2"                 "$COLOR_WHITE_ALABASTER"
  fill      "boid2horns"            "$COLOR_WHITE_ALABASTER"
  mult      "boid2"                 0.5
  mult      "boid2horns"            0.5

  colorize  "boid3"                 "$COLOR_GRAY_BONE"
  bc        "boid3"                 2  1
  mult      "boid3"                 1.60
  colorize  "boid3horns"            "$COLOR_GRAY_BONE"
  bc        "boid3horns"            2  1
  mult      "boid3horns"            1.35
  colorize  "boid3jaw"              "$COLOR_GRAY_BONE"
  mult      "boid3jaw"              1.35

  colorize  "boid4"                 "$COLOR_GRAY_BONE"
  bc        "boid4"                 3 -1
  mult      "boid4"                 1.50
  colorize  "boid4jaw"              "$COLOR_GRAY_BONE"
  bc        "boid4jaw"              4  2
  mult      "boid4jaw"              1.00
  magick    "./Textures/boid4.png"      -statistic Median 0x12   "./Textures/boid4.png"
  magick    "./Textures/boid4jaw.png"   -statistic Median 0x12   "./Textures/boid4jaw.png"

  echo "--- skulls (levi)"
  for file in ./Textures/boid*lev.png; do
    modulate_targeted   "$file"     "#7e0000"   100,100,120  05
    modulate_targeted   "$file"     "#141b0e"   100,100,075  10
    mult      "$file"     1.4
    bc        "$file"     2 2
  done

  echo "--- spiders"
  for file in ./Textures/gigaspider*.png; do
    [[ $file == *hit.png ]] && continue
    [[ $file == *gib.png ]] && continue
    [[ $file == *leg*.png ]] && continue
    modulate "$file"  085,095,75
    magick   "$file"   -statistic Median 0x04   "$file"
  done
  for file in ./Textures/gigaspiderleg*.png; do
    [[ $file == *hit.png ]] && continue
    [[ $file == *1.png ]] && bc "$file" -5 0
    [[ $file == *2.png ]] && bc "$file" -3 1
    [[ $file == *3.png ]] && bc "$file" -0 2
    modulate "$file"  100,100,75
    magick   "$file"   -statistic Median 0x04   "$file"
  done
  fill      "gigaspiderhead"        "$COLOR_WHITE_BEIGE"
  bc        "gigaspiderbody"       -1  3

  for file in ./Textures/spider*.png; do
    [[ $file == *hit.png ]] && continue
    [[ $file == *gib.png ]] && continue
    [[ $file == spiderhead.png ]] && continue
    magick    "$file"  -statistic Median 0x04   "$file"
    mult      "$file"   1.35
    modulate  "$file"   100,120,100
  done
  fill      "spiderhead"            "$COLOR_GOLD_DARK"
  mult      "spiderhead"            4.35
  bc        "spiderhead"            10 0
  bc        "spiderfangs"           0 3
  bc        "gigaspiderfangs"       0 3

  colorize  "spiderling"            "$COLOR_GREEN_LIMA"
  colorize  "spiderlingleg1"        "$COLOR_GREEN_LIMA"
  colorize  "spiderlingleg2"        "$COLOR_GREEN_LIMA"
  colorize  "spiderlingleg3"        "$COLOR_GREEN_LIMA"
  for file in ./Textures/spiderling*.png; do
    [[ $file == *hit.png ]] && continue
    bc      "$file"      -3 -1
  done

# colorize  "spideregg1"            "#EDCD2B"               # Spider egg I Goo
# colorize  "spideregg2"            "#b0e754"               # Spider egg I
  colorize  "spidereggflash"        "$COLOR_PURPLE_TYRIAN"
# colorize  "gigaegg"               "#EDCD2B"

  echo "--- squids"
  for file in ./Textures/*squid*.png; do
    [[ $file == *gib.png ]] && continue
    [[ $file == *hit.png ]] && continue
    colorize "$file" "$COLOR_GRAY_BONE"
  done
  for file in ./Textures/*squidhorns.png; do
    [[ $file == *gib.png ]] && continue
    mult    "$file"                 0.75
  done
  for file in ./Textures/minisquid*.png; do
    [[ $file == *gib.png ]] && continue
    bc "$file" -2 2
  done
  mult      "minisquidarm"          0.95
  bc        "minisquidcrest"        1  5
  mult      "minisquidcrest"        0.85
  mult      "minisquidcrestskull"   0.90
  bc        "minisquidcrestskull"   0  1
  mult      "minisquidhorns"        1.05
  bc        "minisquidhorns"       -2  5
  mult      "minisquidjaw"          0.90
  bc        "minisquidjaw"          2  6
  mult      "minisquidjawskull"     0.95
  bc        "minisquidjawskull"     1  1

  mult      "squidarm"              0.90
  bc        "squidarm"             -1  1
  mult      "squidcrest"            0.85
  bc        "squidcrest"           -1  2
# mult      "squidhorns"            0.85
  bc        "squidhorns"           -2  3
  bc        "squidjaws"             1  4
  mult      "squidjaws"             0.80
  mult      "squidcrestskull"       0.80
  bc        "squidcrestskull"       0  5
  mult      "squidjawskull"         0.85
  bc        "squidjawskull"        -2  0
  mult      "squidjawskullfragged"  1.15
  bc        "squidjawskullfragged"  1  3
  bc        "squidteeth"           -5  3
  mult      "squidteeth"            0.85

  for file in ./Textures/ultrasquid*.png; do
    [[ $file == *gib.png ]] && continue
    bc "$file" -3 -5
  done
# mult      "ultrasquidarm"                       # this isn't a thing. reuses squidarm.png
  mult      "ultrasquidhorns"       1.15
  mult      "ultrasquidjaw"         1.05
  bc        "ultrasquidjaw"        -1  1
  mult      "ultrasquidjawskull"    0.85
  mult      "ultrasquidcrest"       0.85
  bc        "ultrasquidcrest"      -4  4
  mult      "ultrasquidcrestskull"  0.85
  bc        "ultrasquidcrestskull" -4  2

  echo "-- levi"
  colorize  "leviskull"             "$COLOR_GRAY_GUNMETAL"
  colorize  "leviskull2"            "$COLOR_GRAY_GUNMETAL"
  colorize  "leviskulljaw"          "$COLOR_GRAY_GUNMETAL"
  mult      "leviskull"             1.05
  mult      "leviskull2"            0.80
  mult      "leviskulljaw"          0.70
# colorize  "leviskull2jaw"         "$COLOR_GRAY_GUNMETAL"  # re-uses leviskulljaw.png

  colorize  "levicrown"             "$COLOR_GRAY_GUNMETAL"
  colorize  "levicrown2"            "$COLOR_GRAY_GUNMETAL"
  colorize  "levicrown2jaw"         "$COLOR_GRAY_GUNMETAL"
  colorize  "levicrownjaw"          "$COLOR_GRAY_GUNMETAL"
  mult      "levicrown"             1.05
  mult      "levicrown2"            0.92
  mult      "levicrown2jaw"         0.92
  mult      "levicrownjaw"          1.05

  colorize  "levidividerskull"      "$COLOR_GRAY_GUNMETAL"
  mult      "levidividerskull"      1.55

  # spears sticking out of the top
  colorize  "levitent"              "$COLOR_GRAY_GUNMETAL"
  colorize  "levitent2"             "$COLOR_GRAY_GUNMETAL"
  bc        "levitent"              0 3
  bc        "levitent2"             2 5
  mult      "levitent"              1.10
  mult      "levitent2"             1.20

  colorize  "levileg1"              "$COLOR_GRAY_GUNMETAL"
  colorize  "levileg2"              "$COLOR_GRAY_GUNMETAL"
  colorize  "levileg3"              "$COLOR_GRAY_GUNMETAL"
  mult      "levileg1"              0.80
  mult      "levileg2"              0.70
  mult      "levileg3"              0.55

  for file in ./Textures/levi*.png ; do
    file="$(basename "$file")"
    [[ $file == *warp*.png ]] && continue
    [[ $file == *death.png ]] && continue
    bc    "$file"    -0 1
    magick   "$file.png"   -statistic Median 0x2   "$file.png"
  done

  colorize  "leviwarp"              "$COLOR_RED_RUST"
  mult      "leviwarp"      2
  magick    "./Textures/leviwarp.png"   -statistic Median 0x02   "./Textures/leviwarp.png"
  colorize  "leviwarpover"          "$COLOR_RED_RUST"
  colorize  "levideath"             "$COLOR_RED_RUST"

  echo "--- pedes"
  pedebody="$COLOR_BLACK_ULTRA_0"
  pedebodyfragged="$COLOR_GRAY_BONE"
  pedehead="$COLOR_BLACK_ONYX"
  pedejaw="$pedebodyfragged"
  pedeleg1="$COLOR_BLACK_JET"

  for file in ./Textures/pede*.png ; do
    [[ $file == *body.png ]] && continue
    [[ $file == *hit.png ]] && continue
    [[ $file == *gib.png ]] && continue
    magick   "$file"   -statistic Median 0x4   "$file"
  done
  colorize  "pedebody"              "$pedebody"
  mult      "pedebody"              1.50
  colorize  "pedeblackbody"         "$pedebody"
  mult      "pedeblackbody"         1.50

  colorize  "pedebodyfragged"       "$pedebodyfragged"
  colorize  "pedeblackbodyfragged"  "$pedebodyfragged"
  mult      "pedebodyfragged"       0.80
  bc        "pedebodyfragged"      -1  1
  mult      "pedeblackbodyfragged"  0.80
  bc        "pedeblackbodyfragged" -1  1

  colorize  "pedehead"              "$pedehead"
  colorize  "pedeblackhead"         "$pedehead"
  mult      "pedehead"              0.70
  mult      "pedeblackhead"         0.70
  bc        "pedehead"             -2 -1
  bc        "pedeblackhead"        -2 -1

  colorize  "pedejaw"               "$pedejaw"
  colorize  "pedeblackjaw"          "$pedejaw"
  mult      "pedejaw"               0.70
  mult      "pedeblackjaw"          0.70
  bc        "pedejaw"              -2 -1
  bc        "pedeblackjaw"         -2 -1

  colorize  "pedeleg1"              "$pedeleg1"
  colorize  "pedeblackleg1"         "$pedeleg1"
  colorize  "pedeblackleg1fragged"  "$pedebodyfragged"
  mult      "pedeleg1"              0.5
  mult      "pedeblackleg1"         0.5
  mult      "pedeblackleg1fragged"  0.5

  colorize  "pedeblackleg2"         "$COLOR_BLACK_JET"
  colorize  "pedeleg2"              "$COLOR_BLACK_JET"
  mult      "pedeblackleg2"         0.5

  colorize  "pedeblackleg2fragged"  "$COLOR_BLACK_ULTRA_1"
  mult      "pedeblackleg2fragged"  0.5

  colorize  "pedeleg3"              "$COLOR_RED_RUST"
  colorize  "pedeblackleg3"         "$COLOR_RED_RUST"
  mult      "pedeblackleg3"         0.85

  colorize  "pedeblackleg3fragged"  "$COLOR_GRAY_BONE"
  mult      "pedeblackleg3fragged"  0.75

  colorize  "pedetail"              "$COLOR_BLACK_ULTRA_1"
  colorize  "pedeblacktail"         "$COLOR_BLACK_ULTRA_1"
  mult      "pedetail"              0.5
  mult      "pedeblacktail"         0.5

  colorize  "pedetaillegs"          "$COLOR_BLACK_ULTRA_1"
  colorize  "pedeblacktaillegs"     "$COLOR_BLACK_ULTRA_1"
  mult      "pedetaillegs"          0.5
  mult      "pedeblacktaillegs"     0.5

    # ghostpedes
  colorize  "ultrapedebody"         "$COLOR_BLACK_ULTRA_0"
  magick    "./Textures/ultrapedebody.png"      -statistic Median 0x4    "./Textures/ultrapedebody.png"
  mult      "ultrapedebody"         1.25
  fill      "ultrapedebodyfragged"  "$COLOR_BLACK_ULTRA_1"
  fill      "ultrapedecrown"        "$COLOR_BLACK_ULTRA_1"
  fill      "ultrapedehead"         "$COLOR_BLACK_ULTRA_1"
  fill      "ultrapedejaw"          "$COLOR_BLACK_ULTRA_1"
  fill      "ultrapedeleg1"         "$COLOR_BLACK_ULTRA_0"
  fill      "ultrapedeleg2"         "$COLOR_BLACK_ULTRA_0"
  fill      "ultrapedeleg3"         "$COLOR_RED_RUST_DARK"
# mult      "ultrapedeleg3"         1.25
  fill      "ultrapedetail"         "$COLOR_BLACK_ULTRA_1"

  echo "--- daggers"
  # L1 dagger
  invert    "./Textures/dagger.png"
  colorize  "dagger"                "$COLOR_BLACK_OLIVE"
  invert    "./Textures/dagger.png"
  magick    "./Textures/dagger.png"      -statistic Median 0x2    "./Textures/dagger.png"

  # pleb lobby dagger
# fill      "dagger0"               "$COLOR_DEBUG"

  # L2 daggers
  invert    "./Textures/dagger2.png"
  colorize  "dagger2"               "#0F85B8"
  magick    "./Textures/dagger2.png"      -statistic Median 0x2    "./Textures/dagger2.png"
  invert    "./Textures/dagger2.png"

  # L3 daggers + lobby dagger
  bc        "dagger3"              -5 0
  colorize  "dagger3"               "$COLOR_RED_RUST"
  magick    "./Textures/dagger3.png"      -statistic Median 0x2    "./Textures/dagger3.png"
  # L3 homing
# colorize  "dagger4"               "$COLOR_DEBUG"

  # L4 daggers
  colorize  "dagger5"               "$COLOR_DAGGER5"
  magick    "./Textures/dagger5.png"      -statistic Median 0x4    "./Textures/dagger5.png"

  # L4 homing   # postprocess'd
# fill      "dagger6"               "#00FF00"

  echo "--- fonts"
  colorize  "fontgrad"          "$COLOR_GRAY_STONE"     # Default UI (clock)
  colorize  "fontgrad2"         "$COLOR_GRAY_GUNMETAL"  # Default UI Colorized
  colorize  "fontgrad3"         "$COLOR_GRAY_GUNMETAL"  # Default UI Colorized Hover
  bc        "fontgrad3"         1  3
  mult      "fontgrad3"         1.50

  colorize  "fontbronze"        "$COLOR_RED_RUST_DARK"
  colorize  "fontbronzeover"    "$COLOR_RED_RUST_DARK"
  bc        "fontbronzeover"    2  1
  mult      "fontbronzeover"    1
  colorize  "daggerbronze.png"  "$COLOR_RED_RUST_DARK"

  colorize  "fontsilver"        "$COLOR_GRAY_GUNMETAL"   100   "sRGB"
  colorize  "fontsilverover"    "$COLOR_GRAY_GUNMETAL"   100   "sRGB"
  bc        "fontsilverover"    2  1
  mult      "fontsilverover"    1
  colorize  "daggersilver.png"  "$COLOR_GRAY_GUNMETAL"

  colorize  "fontgold"          "$COLOR_GOLD_DARK"
  colorize  "fontgoldover"      "$COLOR_GOLD_DARK"
  bc        "fontgoldover"      2  1
  mult      "fontgoldover"      1
  colorize  "daggergold.png"    "$COLOR_GOLD_DARK"

  colorize  "fontdevil"      "$COLOR_GOLD"    100   "sRGB"
  mult      "fontdevil"      2
  colorize  "fontdevilover"  "$COLOR_GOLD"    100   "sRGB"
  bc        "fontdevilover" 2 1
  mult      "fontdevilover"  2

  colorize  "fontlevi"       "$COLOR_GOLD"    100
  mult      "fontlevi"       2
  colorize  "fontlevibg"     "$COLOR_GOLD"    100
  mult      "fontlevibg"     2
  colorize  "fontleviover"   "$COLOR_GOLD"    100
  bc        "fontleviover"  2 1
  mult      "fontleviover"   3

  for file in ./Textures/fontlevi*.png; do
    magick "$file" -evaluate Multiply 1.75 "$file"
    bc "$file" 20 0
  done

  echo "--- LUTs"
# unused, allows all colors
# colorize  "lut"                   ""

# default. (applied before all others?)
# colorize  "post_lut"              ""

# gem collection
  bc        "post_lut_collect"      1 1

# lobby scene
# colorize  "post_lut_dagger"       ""

# "the screen after you die"?
# colorize  "post_lut_death"        ""

# on death
  colorize  "post_lut_leveldown"    "$COLOR_RED_RUST_DARK"

# on hand upgrade
  cp        "./Textures/post_lut_collect.png" "./Textures/post_lut_levelup.png"
  bc        "post_lut_levelup"      4 4
# levi spawn and death
  colorize  "post_lut_levi"         "$COLOR_GOLD_DARK"

  echo "--- hit textures"
  for file in ./Textures/*hit.png ; do
    case "$file" in
      ./Textures/spiderheadhit.png)
          invert      "$file"
          colorize    "$file"   "$COLOR_RED_RUST_DARK"
          continue ;;
      ./Textures/*squidjawskull*.png)
          bc          "$file"  -10 -3
          colorize    "$file"   "$COLOR_RED_RUST_DARK"
          magick      "$file"      -statistic Median 0x02   "$file"
          continue ;;
      ./Textures/boid2*hit.png)
          fill        "$file"   "$COLOR_RED_RUST_DARK"
          continue ;;
      ./Textures/thornhit.png)
          bc          "$file"  -2 -2
          magick      "$file.png"      -statistic Median 0x02   "$file.png"
          continue ;;
      ./Textures/ultrapede*.png)
          bc          "$file"  -20 -3
          colorize    "$file"   "$COLOR_RED_RUST_DARK"
          continue ;;
      ./Textures/*)
          invert      "$file"
          bc          "$file"  -10 -3
          colorize    "$file"   "$COLOR_RED_RUST_DARK"
          magick      "$file"      -statistic Median 0x02   "$file"
          bc          "$file"  -10 -3
          continue ;;
    esac
  done

  echo "--- misc"
  colorize  "emberflame"            "$COLOR_DEBUG"
# colorize  "smokeblob"             "$COLOR_BLACK_CHARCOAL"
  colorize  "statue1"               "$COLOR_RED_RUST_FOG"
  mult      "statue1"     1.5
  colorize  "statue2"               "$COLOR_RED_RUST_FOG"
  colorize2 "statue3"               "$COLOR_RED_RUST_FOG"
  colorize  "sorathstone"           "$COLOR_RED_RUST_FOG"
# colorize  "sorathvector"          "$COLOR_GOLD_LIGHT"

  echo "--- apply postprocessing"
  cp -f -v postprocessing/*.png ./Textures/ || return

  invert    "./Textures/dagger6.png"
  colorize  "dagger6"     "$COLOR_DAGGER5"
  modulate  "dagger6"     110,100,100

# for file in ./Textures/logo*; do
#   colorize "$file"     "$COLOR_DAGGER5"
# done

# echo "--- rebuild pkg.json"
  # shellcheck disable=SC2011
# ls -1 ./Textures/* | xargs readlink -f | (set -x ; pkggen.py > pkg.json )

  hr

  notice -u low "Done"
}

if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
  main "$@" | tee log.txt
fi

# EOF
