diff --git a/mods/u_skins/MT_skins_updater.exe b/mods/u_skins/MT_skins_updater.exe deleted file mode 100755 index 5b4ee3e4..00000000 Binary files a/mods/u_skins/MT_skins_updater.exe and /dev/null differ diff --git a/mods/u_skins/Newtonsoft.Json.dll b/mods/u_skins/Newtonsoft.Json.dll deleted file mode 100755 index 054c9337..00000000 Binary files a/mods/u_skins/Newtonsoft.Json.dll and /dev/null differ diff --git a/mods/u_skins/generate_previews.py b/mods/u_skins/generate_previews.py new file mode 100755 index 00000000..460f7f91 --- /dev/null +++ b/mods/u_skins/generate_previews.py @@ -0,0 +1,85 @@ +#!/bin/env python2 + +from __future__ import print_function +import sys, os, subprocess +from os import listdir +from os.path import isfile, join, sep + +def eprint(*args, **kwargs): + print(*args, file=sys.stderr, **kwargs) + +def which(program): + import os + def is_exe(fpath): + return os.path.isfile(fpath) and os.access(fpath, os.X_OK) + + fpath, fname = os.path.split(program) + if fpath: + if is_exe(program): + return program + else: + for path in os.environ["PATH"].split(os.pathsep): + path = path.strip('"') + exe_file = os.path.join(path, program) + if is_exe(exe_file): + return exe_file + + return None + +try: + from PIL import Image +except ImportError: + eprint("Could not import PIL, is it installed ?") + sys.exit(1) + +uskins_path = "u_skins" +meta_path = join(uskins_path, "meta") +textures_path = join(uskins_path, "textures") +pngcrush = which('pngcrush') +optipng = which('optipng') + +def process_copies(src, dst, copies): + for copy in copies: + srcrect = copy[0] + dstrect = copy[1] + flip = copy[2] if len(copy) > 2 else None + region = src.crop(srcrect) + if flip is not None: + region = region.transpose(flip) + dst.paste(region, dstrect) + +def make_preview(src, dst): + skin = Image.open(src) + preview = Image.new('RGBA', (16, 32)) + process_copies(skin, preview, [ + [(8, 8, 16, 16), (4, 0)], # Head + [(44, 20, 48, 32), (0, 8)], # Left arm + [(44, 20, 48, 32), (12, 8), Image.FLIP_LEFT_RIGHT], # Right arm + [(20, 20, 28, 32), (4, 8)], # Body + [(4, 20, 8, 32), (4, 20)], # Left leg + [(4, 20, 8, 32), (8, 20), Image.FLIP_LEFT_RIGHT], # Right leg + ]) + overlay = Image.new('RGBA', (16, 32)) + process_copies(skin, overlay, [ + [(40, 8, 48, 16), (4, 0)], # Head + ]) + preview = Image.alpha_composite(preview, overlay) + preview.save(dst) + if optipng is not None: + p = subprocess.Popen([optipng, '-o7', '-quiet', dst]) + p.wait() + elif pngcrush is not None: + p = subprocess.Popen([pngcrush, '-ow', '-s', dst]) + p.wait() + +if __name__ == '__main__': + metas = [f for f in listdir(meta_path) if + isfile(join(meta_path, f)) and + f.endswith(".txt")] + for meta in metas: + f = open(join(meta_path, meta), 'r') + metadata = f.read().splitlines() + f.close() + skin = meta[:-4] + print("Processing {} \"{}\" by {} ({})...".format(skin, metadata[0], metadata[1], metadata[2])) + make_preview(join(textures_path, skin + ".png"), join(textures_path, skin + "_preview.png")) diff --git a/mods/u_skins/generate_previews.sh b/mods/u_skins/generate_previews.sh deleted file mode 100755 index 1ff66505..00000000 --- a/mods/u_skins/generate_previews.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/sh -# This script is used to generate the previews needed by the mod -# It requires blender with the latest python API (2.6x is tested) -# A script that works with older blenders and, maybe, without python, is available in older commits. -# This script can also use pngcrush and imagemagick to reduce output size, -# please enable them if you want to push to the git repository of the mod. -# Pngcrush output will be written to .previews/pngcrush_output -# Warning: any file in .previews/ and u_skins/textures might be deleted without asking. -PNGCRUSH=true -IMAGEMAGICK=true -cd .previews -rm ../u_skins/textures/character_*_preview*.png # Remove all previous previews -blender -b skin_previews.blend --python-text "Generate previews" > /dev/null -if $IMAGEMAGICK - then echo "Stripping metadata from generated files..." - else echo "Moving files..." -fi -rm -rf output # remove my output -mkdir -p output -for i in blender_out/character_*_00.png; -do - out_name=$(basename $i | sed -e 's/_00.png//g') - out_file=output/"$out_name"_preview.png - if $IMAGEMAGICK - then - convert -strip -resize 128x256 $i $out_file - else - mv $i $out_file - fi -done - -#for i in blender_out/character_*_01.png; -#do -# out_name=$(basename $i | sed -e 's/_01.png//g') -# out_file=output/"$out_name"_preview_back.png -# if $IMAGEMAGICK -# then -# convert -strip -resize 32x64 $i $out_file -# else -# mv $i $out_file -# fi -#done -if $PNGCRUSH - then - echo "Running pngcrush..." - pngcrush -d ../u_skins/textures/ output/character_*_preview*.png 2> pngcrush_output - else mv output/character_*_preview*.png ../u_skins/textures/ -fi -echo "Done !" diff --git a/mods/u_skins/generate_previews_mff.sh b/mods/u_skins/generate_previews_mff.sh deleted file mode 100755 index a07a3f94..00000000 --- a/mods/u_skins/generate_previews_mff.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/sh -# This script is used to generate the previews needed by the mod -# It requires blender with the latest python API (2.6x is tested) -# A script that works with older blenders and, maybe, without python, is available in older commits. -# This script can also use pngcrush and imagemagick to reduce output size, -# please enable them if you want to push to the git repository of the mod. -# Pngcrush output will be written to .previews/pngcrush_output -# Warning: any file in .previews/ and u_skins/textures might be deleted without asking. -PNGCRUSH=true -IMAGEMAGICK=true -cd .previews -rm ../u_skins/textures/mff_*_preview*.png # Remove all previous previews -blender -b mff_skin_previews.blend --python-text "Generate previews" > /dev/null -if $IMAGEMAGICK - then echo "Stripping metadata from generated files..." - else echo "Moving files..." -fi -rm -rf output # remove my output -mkdir -p output -for i in blender_out/mff_character_*_00.png -do - out_name=$(basename $i | sed -e 's/_00.png//g') - out_file=output/"$out_name"_preview.png - if $IMAGEMAGICK - then - convert -strip -resize 128x256 $i $out_file - else - mv $i $out_file - fi -done - -#for i in blender_out/mff_character_*_01.png -#do -# out_name=$(basename $i | sed -e 's/_01.png//g') -# out_file=output/"$out_name"_preview_back.png -# if $IMAGEMAGICK -# then -# convert -strip -resize 32x64 $i $out_file -# else -# mv $i $out_file -# fi -#done -if $PNGCRUSH - then - echo "Running pngcrush..." - pngcrush -d ../u_skins/textures/ output/mff_*_preview*.png 2> pngcrush_output - else mv output/mff_*_preview*.png ../u_skins/textures/ -fi -echo "Done !" diff --git a/mods/u_skins/placeholder.txt b/mods/u_skins/placeholder.txt deleted file mode 100755 index a9e6fce1..00000000 --- a/mods/u_skins/placeholder.txt +++ /dev/null @@ -1 +0,0 @@ -Please run the update_from_db.py script to update the skins. diff --git a/mods/u_skins/purge_skins.py b/mods/u_skins/purge_skins.py deleted file mode 100755 index 8cfa7ab0..00000000 --- a/mods/u_skins/purge_skins.py +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env python -# -*- coding: UTF-8 -*- - -import sys, os - -# if used on windows ?? -# use os.path.join() -> path sep win "\" or linux "/" -p_textures = os.path.join("u_skins", "textures") -p_meta = os.path.join("u_skins", "meta") - -try: - f = open("removed_skins.txt", "r") - skins_exclued = f.readlines() -except IOError as err: - sys.stderr.write("%s\n" % err) - sys.exit(1) -else: - f.close() - -print("il y a %d skins exclus." % len(skins_exclued)) - -for skin in skins_exclued: - # if not int value, ignore - try: - skin = "character_%s" % int(skin.strip()) - except ValueError as err: - sys.stderr.write("%s\n" % err) - continue - # for texture, preview and meta files - for f_skin in ( os.path.join(p_textures,"%s.png" % skin), - os.path.join(p_textures,"%s_preview.png" % skin), - os.path.join(p_meta, "%s.txt" % skin) ): - if os.path.exists(f_skin): - try: - os.remove(f_skin) - except exception as err: - print(err) - pass - else: - print('skin "%s" effacé' % f_skin) - -sys.exit(0) diff --git a/mods/u_skins/removed_skins.txt b/mods/u_skins/removed_skins.txt deleted file mode 100755 index e69de29b..00000000 diff --git a/mods/u_skins/set_meta.sh b/mods/u_skins/set_meta.sh deleted file mode 100755 index 1db43cd9..00000000 --- a/mods/u_skins/set_meta.sh +++ /dev/null @@ -1,59 +0,0 @@ -#!/bin/bash -SPRITES=$(find -regextype sed -regex '.*/player_[0-9]\{1,\}.png' | sort -V) -MODELS=$(find -regextype sed -regex '.*/character_[0-9]\{1,\}.png' | sort -V) -function ask_for_meta { - convert $2 -scale 100x200 /tmp/skins_set_meta - SNAME=$(basename $1) - SNAME=${SNAME%.*} - METAFILE=u_skins/meta/$SNAME.txt - FORCE=$3 - if $FORCE || ! [ -f $METAFILE ] - then - echo $METAFILE - YADOUT=$(yad --form --image=/tmp/skins_set_meta --field $SNAME:LBL --field=Name --field=Author --field=Description --field=Comment) - if [ -z "$YADOUT" ]; then exit; fi # canceled - OIFS="$IFS" - IFS='|' - read -a VALUES <<< "$YADOUT" - IFS="$OIFS" - NAME=${VALUES[1]} - AUTHOR=${VALUES[2]} - DESCRIPTION=${VALUES[3]} - COMMENT=${VALUES[4]} - if [ -n "$NAME" ] && [ -n "$AUTHOR" ] - then - echo -n > $METAFILE # clear it - echo 'name = "'$NAME'",' >> $METAFILE - echo 'author = "'$AUTHOR'",' >> $METAFILE - # only write description and comment if they are specified - if [ -n "$DESCRIPTION" ] - then - echo 'description = "'$DESCRIPTION'",' >> $METAFILE - fi - if [ -n "$COMMENT" ] - then - echo 'comment = "'$COMMENT'",' >> $METAFILE - fi - echo "Saved !" - fi - fi -} -if [ -z $1 ] -then - for i in $SPRITES - do - ask_for_meta $i $i false - done - for i in $MODELS - do - ask_for_meta $i ${i%.*}_preview.png false - done -else - if [ -f ${1%.*}_preview.png ] - then - ask_for_meta $1 ${1%.*}_preview.png true - else - ask_for_meta $1 $1 true - fi -fi -rm /tmp/skins_set_meta diff --git a/mods/u_skins/u_skins/textures/character_1.png b/mods/u_skins/u_skins/textures/character_1.png old mode 100755 new mode 100644 index 2d34c13f..f58a765a Binary files a/mods/u_skins/u_skins/textures/character_1.png and b/mods/u_skins/u_skins/textures/character_1.png differ diff --git a/mods/u_skins/u_skins/textures/character_10_preview.png b/mods/u_skins/u_skins/textures/character_10_preview.png index ccd24165..6b3dfdfb 100644 Binary files a/mods/u_skins/u_skins/textures/character_10_preview.png and b/mods/u_skins/u_skins/textures/character_10_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_11_preview.png b/mods/u_skins/u_skins/textures/character_11_preview.png old mode 100755 new mode 100644 index bc187c25..93a6680f Binary files a/mods/u_skins/u_skins/textures/character_11_preview.png and b/mods/u_skins/u_skins/textures/character_11_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_12_preview.png b/mods/u_skins/u_skins/textures/character_12_preview.png old mode 100755 new mode 100644 index 59cc7fe2..9cad7f21 Binary files a/mods/u_skins/u_skins/textures/character_12_preview.png and b/mods/u_skins/u_skins/textures/character_12_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_13_preview.png b/mods/u_skins/u_skins/textures/character_13_preview.png index 4ad44a29..a3140163 100644 Binary files a/mods/u_skins/u_skins/textures/character_13_preview.png and b/mods/u_skins/u_skins/textures/character_13_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_14_preview.png b/mods/u_skins/u_skins/textures/character_14_preview.png index 9b718897..faf6a5eb 100644 Binary files a/mods/u_skins/u_skins/textures/character_14_preview.png and b/mods/u_skins/u_skins/textures/character_14_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_15_preview.png b/mods/u_skins/u_skins/textures/character_15_preview.png old mode 100755 new mode 100644 index 5def95cf..b74ecb83 Binary files a/mods/u_skins/u_skins/textures/character_15_preview.png and b/mods/u_skins/u_skins/textures/character_15_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_16_preview.png b/mods/u_skins/u_skins/textures/character_16_preview.png index 6b6b436e..a8c610c7 100644 Binary files a/mods/u_skins/u_skins/textures/character_16_preview.png and b/mods/u_skins/u_skins/textures/character_16_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_17_preview.png b/mods/u_skins/u_skins/textures/character_17_preview.png old mode 100755 new mode 100644 index f288447a..4820fd7d Binary files a/mods/u_skins/u_skins/textures/character_17_preview.png and b/mods/u_skins/u_skins/textures/character_17_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_18_preview.png b/mods/u_skins/u_skins/textures/character_18_preview.png index 44cb9152..b9719553 100644 Binary files a/mods/u_skins/u_skins/textures/character_18_preview.png and b/mods/u_skins/u_skins/textures/character_18_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_19_preview.png b/mods/u_skins/u_skins/textures/character_19_preview.png old mode 100755 new mode 100644 index 04d36b4c..94895cd7 Binary files a/mods/u_skins/u_skins/textures/character_19_preview.png and b/mods/u_skins/u_skins/textures/character_19_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_1_preview.png b/mods/u_skins/u_skins/textures/character_1_preview.png index 3cf0be3a..1c0d99e0 100644 Binary files a/mods/u_skins/u_skins/textures/character_1_preview.png and b/mods/u_skins/u_skins/textures/character_1_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_2.png b/mods/u_skins/u_skins/textures/character_2.png old mode 100755 new mode 100644 index 6ff5850b..e1ccb618 Binary files a/mods/u_skins/u_skins/textures/character_2.png and b/mods/u_skins/u_skins/textures/character_2.png differ diff --git a/mods/u_skins/u_skins/textures/character_20_preview.png b/mods/u_skins/u_skins/textures/character_20_preview.png old mode 100755 new mode 100644 index 5c1af6dc..7449e37d Binary files a/mods/u_skins/u_skins/textures/character_20_preview.png and b/mods/u_skins/u_skins/textures/character_20_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_21_preview.png b/mods/u_skins/u_skins/textures/character_21_preview.png index 4c5fecd0..c8b5791c 100644 Binary files a/mods/u_skins/u_skins/textures/character_21_preview.png and b/mods/u_skins/u_skins/textures/character_21_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_22_preview.png b/mods/u_skins/u_skins/textures/character_22_preview.png index bc55e460..cae21c66 100644 Binary files a/mods/u_skins/u_skins/textures/character_22_preview.png and b/mods/u_skins/u_skins/textures/character_22_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_23_preview.png b/mods/u_skins/u_skins/textures/character_23_preview.png index b473013e..3d58ea64 100644 Binary files a/mods/u_skins/u_skins/textures/character_23_preview.png and b/mods/u_skins/u_skins/textures/character_23_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_24.png b/mods/u_skins/u_skins/textures/character_24.png old mode 100755 new mode 100644 index 0111d10f..ad9737f4 Binary files a/mods/u_skins/u_skins/textures/character_24.png and b/mods/u_skins/u_skins/textures/character_24.png differ diff --git a/mods/u_skins/u_skins/textures/character_24_preview.png b/mods/u_skins/u_skins/textures/character_24_preview.png index e33ab083..08e467d7 100644 Binary files a/mods/u_skins/u_skins/textures/character_24_preview.png and b/mods/u_skins/u_skins/textures/character_24_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_25_preview.png b/mods/u_skins/u_skins/textures/character_25_preview.png index 92a070d2..28032440 100644 Binary files a/mods/u_skins/u_skins/textures/character_25_preview.png and b/mods/u_skins/u_skins/textures/character_25_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_26_preview.png b/mods/u_skins/u_skins/textures/character_26_preview.png old mode 100755 new mode 100644 index bb99cca5..b54d4569 Binary files a/mods/u_skins/u_skins/textures/character_26_preview.png and b/mods/u_skins/u_skins/textures/character_26_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_27_preview.png b/mods/u_skins/u_skins/textures/character_27_preview.png index b2cc41db..4221cd4d 100644 Binary files a/mods/u_skins/u_skins/textures/character_27_preview.png and b/mods/u_skins/u_skins/textures/character_27_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_28_preview.png b/mods/u_skins/u_skins/textures/character_28_preview.png index 468b2705..4f1529c9 100644 Binary files a/mods/u_skins/u_skins/textures/character_28_preview.png and b/mods/u_skins/u_skins/textures/character_28_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_29_preview.png b/mods/u_skins/u_skins/textures/character_29_preview.png index 0507d77d..6cc35fa8 100644 Binary files a/mods/u_skins/u_skins/textures/character_29_preview.png and b/mods/u_skins/u_skins/textures/character_29_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_2_preview.png b/mods/u_skins/u_skins/textures/character_2_preview.png index 3fb7392d..7a6dadf4 100644 Binary files a/mods/u_skins/u_skins/textures/character_2_preview.png and b/mods/u_skins/u_skins/textures/character_2_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_3.png b/mods/u_skins/u_skins/textures/character_3.png old mode 100755 new mode 100644 index d17589dc..6aa9a7e9 Binary files a/mods/u_skins/u_skins/textures/character_3.png and b/mods/u_skins/u_skins/textures/character_3.png differ diff --git a/mods/u_skins/u_skins/textures/character_30_preview.png b/mods/u_skins/u_skins/textures/character_30_preview.png index 662a1564..11a95f77 100644 Binary files a/mods/u_skins/u_skins/textures/character_30_preview.png and b/mods/u_skins/u_skins/textures/character_30_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_31_preview.png b/mods/u_skins/u_skins/textures/character_31_preview.png index b78b0a00..16fc496b 100644 Binary files a/mods/u_skins/u_skins/textures/character_31_preview.png and b/mods/u_skins/u_skins/textures/character_31_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_32_preview.png b/mods/u_skins/u_skins/textures/character_32_preview.png index 1c5df8de..a134b156 100644 Binary files a/mods/u_skins/u_skins/textures/character_32_preview.png and b/mods/u_skins/u_skins/textures/character_32_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_33_preview.png b/mods/u_skins/u_skins/textures/character_33_preview.png index 7d631f22..66ae85a3 100644 Binary files a/mods/u_skins/u_skins/textures/character_33_preview.png and b/mods/u_skins/u_skins/textures/character_33_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_34_preview.png b/mods/u_skins/u_skins/textures/character_34_preview.png index bc97abaf..ba498531 100644 Binary files a/mods/u_skins/u_skins/textures/character_34_preview.png and b/mods/u_skins/u_skins/textures/character_34_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_35_preview.png b/mods/u_skins/u_skins/textures/character_35_preview.png index bfe91b0f..4a4f2c8b 100644 Binary files a/mods/u_skins/u_skins/textures/character_35_preview.png and b/mods/u_skins/u_skins/textures/character_35_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_36_preview.png b/mods/u_skins/u_skins/textures/character_36_preview.png index b5dd2673..184c8474 100644 Binary files a/mods/u_skins/u_skins/textures/character_36_preview.png and b/mods/u_skins/u_skins/textures/character_36_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_37_preview.png b/mods/u_skins/u_skins/textures/character_37_preview.png index 31b5fedb..d2e9374d 100644 Binary files a/mods/u_skins/u_skins/textures/character_37_preview.png and b/mods/u_skins/u_skins/textures/character_37_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_38_preview.png b/mods/u_skins/u_skins/textures/character_38_preview.png old mode 100755 new mode 100644 index d34e5e62..bf09cfb9 Binary files a/mods/u_skins/u_skins/textures/character_38_preview.png and b/mods/u_skins/u_skins/textures/character_38_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_39_preview.png b/mods/u_skins/u_skins/textures/character_39_preview.png old mode 100755 new mode 100644 index 0632662b..d43b1e75 Binary files a/mods/u_skins/u_skins/textures/character_39_preview.png and b/mods/u_skins/u_skins/textures/character_39_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_3_preview.png b/mods/u_skins/u_skins/textures/character_3_preview.png index ee217add..2c852549 100644 Binary files a/mods/u_skins/u_skins/textures/character_3_preview.png and b/mods/u_skins/u_skins/textures/character_3_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_4.png b/mods/u_skins/u_skins/textures/character_4.png old mode 100755 new mode 100644 index d246e6cd..fb1afd9b Binary files a/mods/u_skins/u_skins/textures/character_4.png and b/mods/u_skins/u_skins/textures/character_4.png differ diff --git a/mods/u_skins/u_skins/textures/character_40_preview.png b/mods/u_skins/u_skins/textures/character_40_preview.png index 553ecd57..637bbc75 100644 Binary files a/mods/u_skins/u_skins/textures/character_40_preview.png and b/mods/u_skins/u_skins/textures/character_40_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_41_preview.png b/mods/u_skins/u_skins/textures/character_41_preview.png index 662a1564..11a95f77 100644 Binary files a/mods/u_skins/u_skins/textures/character_41_preview.png and b/mods/u_skins/u_skins/textures/character_41_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_4_preview.png b/mods/u_skins/u_skins/textures/character_4_preview.png index c51ab202..0b9bc258 100644 Binary files a/mods/u_skins/u_skins/textures/character_4_preview.png and b/mods/u_skins/u_skins/textures/character_4_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_5_preview.png b/mods/u_skins/u_skins/textures/character_5_preview.png index 8f5c38b5..0277e5c5 100644 Binary files a/mods/u_skins/u_skins/textures/character_5_preview.png and b/mods/u_skins/u_skins/textures/character_5_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_6_preview.png b/mods/u_skins/u_skins/textures/character_6_preview.png index 0e97c86d..f4ac37f1 100644 Binary files a/mods/u_skins/u_skins/textures/character_6_preview.png and b/mods/u_skins/u_skins/textures/character_6_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_7_preview.png b/mods/u_skins/u_skins/textures/character_7_preview.png index f0de1ae3..a242addd 100644 Binary files a/mods/u_skins/u_skins/textures/character_7_preview.png and b/mods/u_skins/u_skins/textures/character_7_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_8_preview.png b/mods/u_skins/u_skins/textures/character_8_preview.png old mode 100755 new mode 100644 index 35c27380..1560eef5 Binary files a/mods/u_skins/u_skins/textures/character_8_preview.png and b/mods/u_skins/u_skins/textures/character_8_preview.png differ diff --git a/mods/u_skins/u_skins/textures/character_9_preview.png b/mods/u_skins/u_skins/textures/character_9_preview.png old mode 100755 new mode 100644 index ad6ea87e..63250dfe Binary files a/mods/u_skins/u_skins/textures/character_9_preview.png and b/mods/u_skins/u_skins/textures/character_9_preview.png differ diff --git a/mods/u_skins/u_skins/textures/mff_character_1.png b/mods/u_skins/u_skins/textures/mff_character_1.png old mode 100755 new mode 100644 index 2e0e9ecb..11609599 Binary files a/mods/u_skins/u_skins/textures/mff_character_1.png and b/mods/u_skins/u_skins/textures/mff_character_1.png differ diff --git a/mods/u_skins/u_skins/textures/mff_character_1_preview.png b/mods/u_skins/u_skins/textures/mff_character_1_preview.png index cfbce81a..4c625520 100644 Binary files a/mods/u_skins/u_skins/textures/mff_character_1_preview.png and b/mods/u_skins/u_skins/textures/mff_character_1_preview.png differ diff --git a/mods/u_skins/u_skins/textures/mff_character_2.png b/mods/u_skins/u_skins/textures/mff_character_2.png old mode 100755 new mode 100644 index a86c3dbb..6e961041 Binary files a/mods/u_skins/u_skins/textures/mff_character_2.png and b/mods/u_skins/u_skins/textures/mff_character_2.png differ diff --git a/mods/u_skins/u_skins/textures/mff_character_2_preview.png b/mods/u_skins/u_skins/textures/mff_character_2_preview.png old mode 100755 new mode 100644 index 6e4c5855..22c7a324 Binary files a/mods/u_skins/u_skins/textures/mff_character_2_preview.png and b/mods/u_skins/u_skins/textures/mff_character_2_preview.png differ diff --git a/mods/u_skins/u_skins/textures/mff_character_3.png b/mods/u_skins/u_skins/textures/mff_character_3.png old mode 100755 new mode 100644 index f4fed2df..4a9009ba Binary files a/mods/u_skins/u_skins/textures/mff_character_3.png and b/mods/u_skins/u_skins/textures/mff_character_3.png differ diff --git a/mods/u_skins/u_skins/textures/mff_character_3_preview.png b/mods/u_skins/u_skins/textures/mff_character_3_preview.png index 7a41465c..9373abae 100644 Binary files a/mods/u_skins/u_skins/textures/mff_character_3_preview.png and b/mods/u_skins/u_skins/textures/mff_character_3_preview.png differ diff --git a/mods/u_skins/u_skins/textures/mff_character_4.png b/mods/u_skins/u_skins/textures/mff_character_4.png old mode 100755 new mode 100644 index 03d2b774..6ca8eb1d Binary files a/mods/u_skins/u_skins/textures/mff_character_4.png and b/mods/u_skins/u_skins/textures/mff_character_4.png differ diff --git a/mods/u_skins/u_skins/textures/mff_character_4_preview.png b/mods/u_skins/u_skins/textures/mff_character_4_preview.png old mode 100755 new mode 100644 index 7fb0f6fd..403c595f Binary files a/mods/u_skins/u_skins/textures/mff_character_4_preview.png and b/mods/u_skins/u_skins/textures/mff_character_4_preview.png differ diff --git a/mods/u_skins/u_skins/textures/mff_character_5.png b/mods/u_skins/u_skins/textures/mff_character_5.png old mode 100755 new mode 100644 index cb2caae0..1b31c4eb Binary files a/mods/u_skins/u_skins/textures/mff_character_5.png and b/mods/u_skins/u_skins/textures/mff_character_5.png differ diff --git a/mods/u_skins/u_skins/textures/mff_character_5_preview.png b/mods/u_skins/u_skins/textures/mff_character_5_preview.png index 65630439..caa18ec2 100644 Binary files a/mods/u_skins/u_skins/textures/mff_character_5_preview.png and b/mods/u_skins/u_skins/textures/mff_character_5_preview.png differ diff --git a/mods/u_skins/u_skins/textures/mff_character_6.png b/mods/u_skins/u_skins/textures/mff_character_6.png old mode 100755 new mode 100644 index 007cabc7..e515c9d2 Binary files a/mods/u_skins/u_skins/textures/mff_character_6.png and b/mods/u_skins/u_skins/textures/mff_character_6.png differ diff --git a/mods/u_skins/u_skins/textures/mff_character_6_preview.png b/mods/u_skins/u_skins/textures/mff_character_6_preview.png old mode 100755 new mode 100644 index b5486ba8..4f898907 Binary files a/mods/u_skins/u_skins/textures/mff_character_6_preview.png and b/mods/u_skins/u_skins/textures/mff_character_6_preview.png differ diff --git a/mods/u_skins/u_skins/textures/mff_character_7.png b/mods/u_skins/u_skins/textures/mff_character_7.png old mode 100755 new mode 100644 index 24b6d23b..f041b897 Binary files a/mods/u_skins/u_skins/textures/mff_character_7.png and b/mods/u_skins/u_skins/textures/mff_character_7.png differ diff --git a/mods/u_skins/u_skins/textures/mff_character_7_preview.png b/mods/u_skins/u_skins/textures/mff_character_7_preview.png old mode 100755 new mode 100644 index 9cc9bf99..38ab6162 Binary files a/mods/u_skins/u_skins/textures/mff_character_7_preview.png and b/mods/u_skins/u_skins/textures/mff_character_7_preview.png differ diff --git a/mods/u_skins/u_skins/textures/mff_character_8_preview.png b/mods/u_skins/u_skins/textures/mff_character_8_preview.png index d7d73f76..6bf0fd89 100644 Binary files a/mods/u_skins/u_skins/textures/mff_character_8_preview.png and b/mods/u_skins/u_skins/textures/mff_character_8_preview.png differ diff --git a/mods/u_skins/u_skins/textures/mff_character_9_preview.png b/mods/u_skins/u_skins/textures/mff_character_9_preview.png old mode 100755 new mode 100644 index f5ae2867..a943f903 Binary files a/mods/u_skins/u_skins/textures/mff_character_9_preview.png and b/mods/u_skins/u_skins/textures/mff_character_9_preview.png differ diff --git a/mods/u_skins/update_from_db.py b/mods/u_skins/update_from_db.py deleted file mode 100755 index 71e94140..00000000 --- a/mods/u_skins/update_from_db.py +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/bin/python3 -from http.client import HTTPConnection -import json -import base64 - -server = "minetest.fensta.bplaced.net" -skinsdir = "u_skins/textures/" -metadir = "u_skins/meta/" -i = 1 -pages = 1 - -c = HTTPConnection(server) -def addpage(page): - global i, pages - print("Page: " + str(page)) - r = 0 - try: - c.request("GET", "/api/get.json.php?getlist&page=" + str(page) + "&outformat=base64") - r = c.getresponse() - except Exception: - if r != 0: - if r.status != 200: - print("Error", r.status) - exit(r.status) - return - - data = r.read().decode() - l = json.loads(data) - if not l["success"]: - print("Success != True") - exit(1) - r = 0 - pages = int(l["pages"]) - for s in l["skins"]: - f = open(skinsdir + "character_" + str(i) + ".png", "wb") - f.write(base64.b64decode(bytes(s["img"], 'utf-8'))) - f.close() - f = open(metadir + "character_" + str(i) + ".txt", "w") - f.write(str(s["name"]) + '\n') - f.write(str(s["author"]) + '\n') - f.write(str(s["license"])) - f.close() - try: - c.request("GET", "/skins/1/" + str(s["id"]) + ".png") - r = c.getresponse() - except Exception: - if r != 0: - if r.status != 200: - print("Error", r.status) - continue - - data = r.read() - f = open(skinsdir + "character_" + str(i) + "_preview.png", "wb") - f.write(data) - f.close() - i = i + 1 -addpage(1) -if pages > 1: - for p in range(pages-1): - addpage(p+2) -print("Skins have been updated!") diff --git a/mods/u_skins/update_from_db2.py b/mods/u_skins/update_from_db2.py deleted file mode 100755 index 0afe1c9d..00000000 --- a/mods/u_skins/update_from_db2.py +++ /dev/null @@ -1,45 +0,0 @@ -#!/usr/bin/python3 -#from http.client import HTTPConnection -import json -import base64 -import requests - -server = "minetest.fensta.bplaced.net" -skinsdir = "u_skins/textures/" -metadir = "u_skins/meta/" -i = 1 -pages = 0 - -#c = HTTPConnection(server) -def addpage(page): - global i, pages - print( "Page: "+str(page)) - try: - #c.request("GET","/api/get.json.php?getlist&page="+str(page)+"&outformat=base64") - #r = c.getresponse() - r = requests.get("http://"+str(server)+"/api/get.json.php?getlist&page="+str(page)+"&outformat=base64") - except StandardError: - print("Error", r.status) - exit(r.status) - data = r.text - l = json.loads(data) - if not l["success"]: - print("Success != True") - exit(1) - pages = int(l["pages"]) - for s in l["skins"]: - f = open(skinsdir+"character_"+str(i)+".png",'wb') - f.write(base64.b64decode(s["img"])) - f.close() - f = open(metadir+"character_"+str(i)+".txt",'w') - f.write('name = "'+s["name"]+'",\n') - f.write('author = "'+s["author"]+'",\n') - f.write('comment = "'+s["license"]+'",\n') - f.close() - i = i + 1 -addpage(1) -if pages > 1: - for p in range(pages-1): - addpage(p+2) -print("Skins have been updated. Please run ./generate_previews.sh") - diff --git a/mods/u_skins/update_skins_db.sh b/mods/u_skins/update_skins_db.sh deleted file mode 100755 index 8bf9e1a2..00000000 --- a/mods/u_skins/update_skins_db.sh +++ /dev/null @@ -1,78 +0,0 @@ -#!/bin/bash -#### -# Licenced under Attribution-NonCommercial-ShareAlike 4.0 International -# http://creativecommons.org/licenses/by-nc-sa/4.0/ -#### ATTENTION #### -## This script requires that jq and coreutils are installed on your system ## -## In Debian-based distros, open a terminal and run -## sudo apt-get install jq coreutils -################### - -# == Set variables === -# ==================== -NUMPAGES="1" # Number of pages. Default is 1 page -PERPAGE="2000" # Number of items per page. Default is 2000. -JSONURL="http://minetest.fensta.bplaced.net/api/get.json.php?getlist&page=$NUMPAGES&outformat=base64&per_page=$PERPAGE" # The URL to the database -PREVIEWURL="http://minetest.fensta.bplaced.net/skins/1/" # The url to the location of the previews. -temp=$PWD/tmp # Where the temp folder will be. Default is $PWD/tmp, which means that the tmp folder will be put in the current folder -METADEST=$PWD/u_skins/meta # This is the folder where the meta data will be saved -TEXTUREDEST=$PWD/u_skins/textures # This is the folder where the skins and the previews will be saved - - -# === Make a bunch of folders and download the db === -# =================================================== -if [ -d "$temp" ]; then - rm -r $temp # If the temp dir exists we will remove it and its contents. -fi -mkdir $temp # Make a new temp dir. Redundant? No. We will get rid of it later. - -if [ ! -d "$METADEST" ]; then # Check to see if the meta dir exists, and if not, create it - mkdir $METADEST -fi - -if [ ! -d "$TEXTUREDEST" ]; then # Check to see if the textures dir exists, and if not, create it - mkdir $TEXTUREDEST -fi - -wget $JSONURL -O $temp/rawdb.txt # Download the entire database - - -# === Do the JSON thing === -# ========================= -i="0" # This will be the counter. -while [ "$ID" != "null" ] # Repeat for as long as there is data to process - do - ID=$(cat $temp/rawdb.txt | jq ".skins[$i].id") - - # The next lines are kinda complex. sed is being used to strip the quotes from the variables. I had help... - meta_name=$(echo $(cat $temp/rawdb.txt | jq ".skins[$i].name") | sed -e 's/^"//' -e 's/"$//') - meta_author=$(echo $(cat $temp/rawdb.txt | jq ".skins[$i].author") | sed -e 's/^"//' -e 's/"$//') - meta_license=$(echo $(cat $temp/rawdb.txt | jq ".skins[$i].license") | sed -e 's/^"//' -e 's/"$//') - - if [[ "$ID" != "null" ]]; then # Check to see if ID has a value - echo "#"$ID "name:" $meta_name "author:" $meta_author "license:" $meta_license # Verbosity to show that the script is working. - - echo $meta_name > $METADEST/character_$ID.txt # Save the meta data to files, this line overwrites the data inside the file - echo $meta_author >> $METADEST/character_$ID.txt # Save the meta data to files, this line is added to the file - echo $meta_license >> $METADEST/character_$ID.txt # Save the meta data to files, and this line is added to the file as well. - - - # === Extract and save the image from the JSON file === - # ====================================================== - skin=$(echo $(cat $temp/rawdb.txt | jq ".skins[$i].img") | sed -e 's/^"//' -e 's/"$//') # Strip the quotes from the base64 encoded string - echo $skin | base64 --decode > $TEXTUREDEST"/character_"$ID".png" # Decode the string, and save it as a .png file - - - # === Download a preview image whilst we're at it === - # ==================================================== - wget -nv $PREVIEWURL/$ID".png" -O $TEXTUREDEST"/character_"$ID"_preview.png" # Downloads a preview of the skin that we just saved. - - fi - i=$[$i+1] # Increase the counter by one. - done - -# === Now we'll clean up the mess === -# =================================== -rm -r $temp # Remove the temp dir and its contents. - -exit # Not strictly needed, but i like to use it to wrap things up.