diff options
author | Feuerfuchs <git@feuerfuchs.dev> | 2019-09-28 17:38:09 +0200 |
---|---|---|
committer | Feuerfuchs <git@feuerfuchs.dev> | 2019-09-28 17:38:09 +0200 |
commit | 821ddad7c800f18f6ec962a18a88ff0bf58825aa (patch) | |
tree | 97f217f2e579bf0cddfd3d12d44afe8d14697a4b | |
parent | new: boopterrified, cactus, cofemlem, dealwititfingerguns, dundundun* heartcu... (diff) | |
download | blobfox-emojis-821ddad7c800f18f6ec962a18a88ff0bf58825aa.tar.gz blobfox-emojis-821ddad7c800f18f6ec962a18a88ff0bf58825aa.tar.bz2 blobfox-emojis-821ddad7c800f18f6ec962a18a88ff0bf58825aa.zip |
new: hyperowo, moved animation offsets into function for reusability
-rw-r--r-- | .gitignore | 2 | ||||
-rwxr-xr-x | blobfoxdundundun.sh | 113 | ||||
-rwxr-xr-x | blobfoxhyperowo.sh | 34 | ||||
-rw-r--r-- | blobfoxhyperowo.svg | 256 | ||||
-rwxr-xr-x | gen.sh | 5 | ||||
-rw-r--r-- | shakeoffsets.sh | 80 |
6 files changed, 404 insertions, 86 deletions
@@ -1,3 +1,3 @@ | |||
1 | export | 1 | export |
2 | export_flip | 2 | export_flip |
3 | export_dundundun | 3 | export_tmp |
diff --git a/blobfoxdundundun.sh b/blobfoxdundundun.sh index 0e24ae3..98a8a89 100755 --- a/blobfoxdundundun.sh +++ b/blobfoxdundundun.sh | |||
@@ -1,95 +1,42 @@ | |||
1 | #!/bin/sh | 1 | #!/bin/sh |
2 | 2 | ||
3 | mkdir -p export_dundundun | 3 | source ./shakeoffsets.sh |
4 | inkscape -z -e "export_dundundun/1.png" "blobfoxdundundun1.svg" | 4 | |
5 | inkscape -z -e "export_dundundun/2.png" "blobfoxdundundun2.svg" | 5 | declare -a shakeOffsets |
6 | inkscape -z -e "export_dundundun/3.png" "blobfoxdundundun3.svg" | 6 | getShakeOffsets shakeOffsets |
7 | inkscape -z -e "export_dundundun/4.png" "blobfoxdundundun4.svg" | 7 | |
8 | inkscape -z -e "export_dundundun/5.png" -a 15:5:143:133 "blobfoxdundundun4.svg" | 8 | |
9 | inkscape -z -e "export_dundundun/6.png" -a 10:-5:138:123 "blobfoxdundundun4.svg" | 9 | mkdir -p export_tmp |
10 | inkscape -z -e "export_dundundun/7.png" -a 20:-2:148:126 "blobfoxdundundun4.svg" | 10 | rm -f export_tmp/* |
11 | inkscape -z -e "export_dundundun/8.png" -a 10:-5:138:123 "blobfoxdundundun4.svg" | 11 | |
12 | inkscape -z -e "export_dundundun/9.png" -a 18:5:146:133 "blobfoxdundundun4.svg" | 12 | |
13 | inkscape -z -e "export_dundundun/10.png" -a 15:-5:143:123 "blobfoxdundundun4.svg" | 13 | inkscape -z -e "export_tmp/1.png" "blobfoxdundundun1.svg" |
14 | inkscape -z -e "export_dundundun/11.png" -a 10:0:138:128 "blobfoxdundundun4.svg" | 14 | inkscape -z -e "export_tmp/2.png" "blobfoxdundundun2.svg" |
15 | inkscape -z -e "export_dundundun/12.png" -a 12:0:140:128 "blobfoxdundundun4.svg" | 15 | inkscape -z -e "export_tmp/3.png" "blobfoxdundundun3.svg" |
16 | inkscape -z -e "export_dundundun/13.png" -a 10:-1:138:127 "blobfoxdundundun4.svg" | 16 | inkscape -z -e "export_tmp/4.png" "blobfoxdundundun4.svg" |
17 | inkscape -z -e "export_dundundun/14.png" -a 9:0:137:128 "blobfoxdundundun4.svg" | 17 | |
18 | inkscape -z -e "export_dundundun/15.png" -a 10:1:138:129 "blobfoxdundundun4.svg" | 18 | counter=5 |
19 | inkscape -z -e "export_dundundun/16.png" -a 17:-2:145:126 "blobfoxdundundun4.svg" | 19 | while [ $counter -le 79 ] |
20 | inkscape -z -e "export_dundundun/17.png" -a 14:-6:142:122 "blobfoxdundundun4.svg" | 20 | do |
21 | inkscape -z -e "export_dundundun/18.png" -a 10:0:138:128 "blobfoxdundundun4.svg" | 21 | offset=${shakeOffsets[counter-5]} |
22 | inkscape -z -e "export_dundundun/19.png" -a 22:-5:150:123 "blobfoxdundundun4.svg" | 22 | file=`printf "export_tmp/%s.png" $counter` |
23 | inkscape -z -e "export_dundundun/20.png" -a 15:-2:143:126 "blobfoxdundundun4.svg" | 23 | inkscape -z -e $file -a $offset "blobfoxdundundun4.svg" |
24 | inkscape -z -e "export_dundundun/21.png" -a 14:3:142:131 "blobfoxdundundun4.svg" | 24 | ((counter++)) |
25 | inkscape -z -e "export_dundundun/22.png" -a 13:-6:141:122 "blobfoxdundundun4.svg" | 25 | done |
26 | inkscape -z -e "export_dundundun/23.png" -a 5:-6:133:122 "blobfoxdundundun4.svg" | 26 | |
27 | inkscape -z -e "export_dundundun/24.png" -a 3:-8:131:120 "blobfoxdundundun4.svg" | ||
28 | inkscape -z -e "export_dundundun/25.png" -a 15:-8:143:120 "blobfoxdundundun4.svg" | ||
29 | inkscape -z -e "export_dundundun/26.png" -a 20:-7:148:121 "blobfoxdundundun4.svg" | ||
30 | inkscape -z -e "export_dundundun/27.png" -a 17:-9:145:119 "blobfoxdundundun4.svg" | ||
31 | inkscape -z -e "export_dundundun/28.png" -a 16:5:144:133 "blobfoxdundundun4.svg" | ||
32 | inkscape -z -e "export_dundundun/29.png" -a 13:-5:141:123 "blobfoxdundundun4.svg" | ||
33 | inkscape -z -e "export_dundundun/30.png" -a 15:-4:143:124 "blobfoxdundundun4.svg" | ||
34 | inkscape -z -e "export_dundundun/31.png" -a 16:10:144:138 "blobfoxdundundun4.svg" | ||
35 | inkscape -z -e "export_dundundun/32.png" -a 11:5:139:133 "blobfoxdundundun4.svg" | ||
36 | inkscape -z -e "export_dundundun/33.png" -a 12:2:140:130 "blobfoxdundundun4.svg" | ||
37 | inkscape -z -e "export_dundundun/34.png" -a 10:5:138:133 "blobfoxdundundun4.svg" | ||
38 | inkscape -z -e "export_dundundun/35.png" -a 10:0:138:128 "blobfoxdundundun4.svg" | ||
39 | inkscape -z -e "export_dundundun/36.png" -a 13:3:141:131 "blobfoxdundundun4.svg" | ||
40 | inkscape -z -e "export_dundundun/37.png" -a 17:-1:145:127 "blobfoxdundundun4.svg" | ||
41 | inkscape -z -e "export_dundundun/38.png" -a 18:-1:146:127 "blobfoxdundundun4.svg" | ||
42 | inkscape -z -e "export_dundundun/39.png" -a 14:1:142:129 "blobfoxdundundun4.svg" | ||
43 | inkscape -z -e "export_dundundun/40.png" -a 5:1:133:129 "blobfoxdundundun4.svg" | ||
44 | inkscape -z -e "export_dundundun/41.png" -a 7:-4:135:124 "blobfoxdundundun4.svg" | ||
45 | inkscape -z -e "export_dundundun/42.png" -a 17:-1:145:127 "blobfoxdundundun4.svg" | ||
46 | inkscape -z -e "export_dundundun/43.png" -a 19:5:147:133 "blobfoxdundundun4.svg" | ||
47 | inkscape -z -e "export_dundundun/44.png" -a 15:-3:143:125 "blobfoxdundundun4.svg" | ||
48 | inkscape -z -e "export_dundundun/45.png" -a 15:-3:143:125 "blobfoxdundundun4.svg" | ||
49 | inkscape -z -e "export_dundundun/46.png" -a 14:-4:142:124 "blobfoxdundundun4.svg" | ||
50 | inkscape -z -e "export_dundundun/47.png" -a 16:-5:144:123 "blobfoxdundundun4.svg" | ||
51 | inkscape -z -e "export_dundundun/48.png" -a 16:10:144:138 "blobfoxdundundun4.svg" | ||
52 | inkscape -z -e "export_dundundun/49.png" -a 10:5:138:133 "blobfoxdundundun4.svg" | ||
53 | inkscape -z -e "export_dundundun/50.png" -a 5:6:133:134 "blobfoxdundundun4.svg" | ||
54 | inkscape -z -e "export_dundundun/51.png" -a 5:10:133:138 "blobfoxdundundun4.svg" | ||
55 | inkscape -z -e "export_dundundun/52.png" -a 5:0:133:128 "blobfoxdundundun4.svg" | ||
56 | inkscape -z -e "export_dundundun/53.png" -a 8:5:136:133 "blobfoxdundundun4.svg" | ||
57 | inkscape -z -e "export_dundundun/54.png" -a 3:7:131:135 "blobfoxdundundun4.svg" | ||
58 | inkscape -z -e "export_dundundun/55.png" -a 5:-5:133:123 "blobfoxdundundun4.svg" | ||
59 | inkscape -z -e "export_dundundun/56.png" -a 8:0:136:128 "blobfoxdundundun4.svg" | ||
60 | inkscape -z -e "export_dundundun/57.png" -a 6:4:134:132 "blobfoxdundundun4.svg" | ||
61 | inkscape -z -e "export_dundundun/58.png" -a 6:-6:134:122 "blobfoxdundundun4.svg" | ||
62 | inkscape -z -e "export_dundundun/59.png" -a 5:-8:133:120 "blobfoxdundundun4.svg" | ||
63 | inkscape -z -e "export_dundundun/60.png" -a 10:5:138:133 "blobfoxdundundun4.svg" | ||
64 | inkscape -z -e "export_dundundun/61.png" -a 6:3:134:131 "blobfoxdundundun4.svg" | ||
65 | inkscape -z -e "export_dundundun/62.png" -a 2:1:130:129 "blobfoxdundundun4.svg" | ||
66 | inkscape -z -e "export_dundundun/63.png" -a 8:5:136:133 "blobfoxdundundun4.svg" | ||
67 | inkscape -z -e "export_dundundun/64.png" -a 2:2:130:130 "blobfoxdundundun4.svg" | ||
68 | inkscape -z -e "export_dundundun/65.png" -a -2:2:126:130 "blobfoxdundundun4.svg" | ||
69 | inkscape -z -e "export_dundundun/66.png" -a 0:0:128:128 "blobfoxdundundun4.svg" | ||
70 | inkscape -z -e "export_dundundun/67.png" -a 10:-5:138:123 "blobfoxdundundun4.svg" | ||
71 | inkscape -z -e "export_dundundun/68.png" -a 5:0:133:128 "blobfoxdundundun4.svg" | ||
72 | inkscape -z -e "export_dundundun/69.png" -a 4:0:132:128 "blobfoxdundundun4.svg" | ||
73 | inkscape -z -e "export_dundundun/70.png" -a 6:2:134:130 "blobfoxdundundun4.svg" | ||
74 | inkscape -z -e "export_dundundun/71.png" -a 4:0:132:128 "blobfoxdundundun4.svg" | ||
75 | inkscape -z -e "export_dundundun/72.png" -a 10:0:138:128 "blobfoxdundundun4.svg" | ||
76 | inkscape -z -e "export_dundundun/73.png" -a 20:-5:148:123 "blobfoxdundundun4.svg" | ||
77 | inkscape -z -e "export_dundundun/74.png" -a 16:-3:144:125 "blobfoxdundundun4.svg" | ||
78 | inkscape -z -e "export_dundundun/75.png" -a 8:-1:136:127 "blobfoxdundundun4.svg" | ||
79 | inkscape -z -e "export_dundundun/76.png" -a 9:2:137:130 "blobfoxdundundun4.svg" | ||
80 | inkscape -z -e "export_dundundun/77.png" -a 16:-3:144:125 "blobfoxdundundun4.svg" | ||
81 | inkscape -z -e "export_dundundun/78.png" -a 15:-5:143:123 "blobfoxdundundun4.svg" | ||
82 | inkscape -z -e "export_dundundun/79.png" -a 5:-7:133:121 "blobfoxdundundun4.svg" | ||
83 | 27 | ||
84 | declare -a args | 28 | declare -a args |
85 | args+=(1.png 50:50 2.png 12:50 3.png 12:50) | 29 | args+=(export_tmp/1.png 50:50) |
30 | args+=(export_tmp/2.png 12:50) | ||
31 | args+=(export_tmp/3.png 12:50) | ||
86 | 32 | ||
87 | counter=4 | 33 | counter=4 |
88 | while [ $counter -le 79 ] | 34 | while [ $counter -le 79 ] |
89 | do | 35 | do |
90 | args+=(export_dundundun/$counter.png 1:50) | 36 | file=`printf "export_tmp/%s.png" $counter` |
37 | args+=($file 1:50) | ||
91 | ((counter++)) | 38 | ((counter++)) |
92 | done | 39 | done |
93 | 40 | ||
94 | apngasm -o export/ablobfoxdundundun.png ${args[@]} | 41 | apngasm -o export/ablobfoxdundundun.png ${args[@]} |
95 | rm -f export_dundundun/* | 42 | rm -f export_tmp/* |
diff --git a/blobfoxhyperowo.sh b/blobfoxhyperowo.sh new file mode 100755 index 0000000..d53b829 --- /dev/null +++ b/blobfoxhyperowo.sh | |||
@@ -0,0 +1,34 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | source ./shakeoffsets.sh | ||
4 | |||
5 | declare -a shakeOffsets | ||
6 | getShakeOffsets shakeOffsets | ||
7 | |||
8 | |||
9 | mkdir -p export_tmp | ||
10 | rm -f export_tmp/* | ||
11 | |||
12 | |||
13 | counter=1 | ||
14 | while [ $counter -le 75 ] | ||
15 | do | ||
16 | offset=${shakeOffsets[counter-1]} | ||
17 | file=`printf "export_tmp/%s.png" $counter` | ||
18 | inkscape -z -e $file -a $offset "blobfoxhyperowo.svg" | ||
19 | ((counter++)) | ||
20 | done | ||
21 | |||
22 | |||
23 | declare -a args | ||
24 | |||
25 | counter=1 | ||
26 | while [ $counter -le 75 ] | ||
27 | do | ||
28 | file=`printf "export_tmp/%s.png" $counter` | ||
29 | args+=($file 1:50) | ||
30 | ((counter++)) | ||
31 | done | ||
32 | |||
33 | apngasm -o export/ablobfoxhyperowo.png ${args[@]} | ||
34 | rm -f export_tmp/* | ||
diff --git a/blobfoxhyperowo.svg b/blobfoxhyperowo.svg new file mode 100644 index 0000000..f212526 --- /dev/null +++ b/blobfoxhyperowo.svg | |||
@@ -0,0 +1,256 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
2 | <!-- Created with Inkscape (http://www.inkscape.org/) --> | ||
3 | |||
4 | <svg | ||
5 | xmlns:dc="http://purl.org/dc/elements/1.1/" | ||
6 | xmlns:cc="http://creativecommons.org/ns#" | ||
7 | xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" | ||
8 | xmlns:svg="http://www.w3.org/2000/svg" | ||
9 | xmlns="http://www.w3.org/2000/svg" | ||
10 | xmlns:xlink="http://www.w3.org/1999/xlink" | ||
11 | xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | ||
12 | xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | ||
13 | width="128" | ||
14 | height="128" | ||
15 | viewBox="0 0 128 128" | ||
16 | version="1.1" | ||
17 | id="svg8" | ||
18 | inkscape:version="0.92.4 5da689c313, 2019-01-14" | ||
19 | sodipodi:docname="blobfoxhyperowo.svg" | ||
20 | inkscape:export-filename="/home/kevin/Encfs/Media-Enc/Projekte/Grafiken/2019.07.30 - blobfox/blobfoxowo.png" | ||
21 | inkscape:export-xdpi="96" | ||
22 | inkscape:export-ydpi="96"> | ||
23 | <defs | ||
24 | id="defs2"> | ||
25 | <linearGradient | ||
26 | inkscape:collect="always" | ||
27 | id="linearGradient879"> | ||
28 | <stop | ||
29 | style="stop-color:#ff7505;stop-opacity:1" | ||
30 | offset="0" | ||
31 | id="stop875" /> | ||
32 | <stop | ||
33 | style="stop-color:#ff8702;stop-opacity:1" | ||
34 | offset="1" | ||
35 | id="stop877" /> | ||
36 | </linearGradient> | ||
37 | <mask | ||
38 | maskUnits="userSpaceOnUse" | ||
39 | id="mask914"> | ||
40 | <path | ||
41 | sodipodi:nodetypes="sssssssss" | ||
42 | inkscape:connector-curvature="0" | ||
43 | id="path916" | ||
44 | d="m 154.91191,68.610466 c 0,13.30933 -2.85091,14.61151 -2.85091,22.03668 0,7.52238 3.27922,9.891904 1.87863,15.118954 -1.74673,6.51888 -11.67541,15.3198 -32.30034,19.24611 -19.5495,3.72157 -44.712872,3.71493 -57.603772,1.17936 -12.97147,-2.55141 -33.636043,-9.97066 -35.993433,-20.68009 -3.35292,-15.232034 0.95023,-36.744664 10.314153,-53.450134 13.12204,-23.41004 38.49929,-39.74165 76.385222,-32.80327 18.75365,3.43453 40.17044,20.22728 40.17045,49.35239 z" | ||
45 | style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.79999995;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill" /> | ||
46 | </mask> | ||
47 | <clipPath | ||
48 | clipPathUnits="userSpaceOnUse" | ||
49 | id="clipPath939"> | ||
50 | <path | ||
51 | style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.79999995;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill" | ||
52 | d="m 150.70195,0.51324812 c -3.5881,-1.83838902 -33.06651,6.51462968 -45.38553,27.09708688 5.48775,7.742314 19.19939,1.052482 24.75224,0.675897 -1.51761,2.342881 -3.95771,7.251483 -4.00944,10.319043 2.25571,0.870741 6.46398,0.348129 8.50111,-1.397205 1.40822,2.738472 0.2768,11.991364 8.03107,13.355 11.96243,-15.595326 13.61577,-47.2291846 8.11055,-50.04982188 z" | ||
53 | id="path941" | ||
54 | inkscape:connector-curvature="0" | ||
55 | sodipodi:nodetypes="scccccs" /> | ||
56 | </clipPath> | ||
57 | <clipPath | ||
58 | clipPathUnits="userSpaceOnUse" | ||
59 | id="clipPath846"> | ||
60 | <path | ||
61 | sodipodi:nodetypes="ssssssscccccccccs" | ||
62 | inkscape:connector-curvature="0" | ||
63 | id="path848" | ||
64 | d="m 391.79445,425.41973 c 1.65688,13.01782 -0.96948,14.64639 -0.0451,21.90893 0.93646,7.35762 4.43884,9.26701 3.71966,14.55393 -0.89694,6.59355 -9.51252,16.43773 -29.19693,22.84564 -18.65801,6.07378 -43.27107,9.19988 -56.19527,8.32464 -13.005,-0.88071 -34.14057,-5.56492 -37.77955,-15.74632 -5.17572,-14.481 -3.54688,-36.67033 3.43423,-53.56343 3.058,-7.39987 11.25258,-21.29807 21.35685,-27.6922 l 8.11698,-0.59557 -12.76711,-1.32585 c 5.83499,-2.87893 11.39007,-4.67336 15.7895,-5.33112 1.44139,0.88585 3.34146,1.6891 5.00507,2.25111 -3.5138,-1.72411 -8.61797,-10.20742 -11.06095,-13.14333 13.21468,-0.66879 24.87025,3.07218 30.03025,5.55927 l -4.32337,-6.20877 c 6.88088,0.77679 11.29124,4.58866 18.48127,4.89245 18.77046,1.02466 41.8087,14.78343 45.43449,43.27062 z" | ||
65 | style="opacity:1;fill:url(#linearGradient850);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.79999995;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill" /> | ||
66 | </clipPath> | ||
67 | <linearGradient | ||
68 | inkscape:collect="always" | ||
69 | xlink:href="#linearGradient879" | ||
70 | id="linearGradient850" | ||
71 | gradientUnits="userSpaceOnUse" | ||
72 | gradientTransform="matrix(0.97809727,-0.12449018,0.12449018,0.97809727,231.7888,378.02587)" | ||
73 | x1="114.28658" | ||
74 | y1="112.44355" | ||
75 | x2="95.348198" | ||
76 | y2="85.856133" /> | ||
77 | <clipPath | ||
78 | clipPathUnits="userSpaceOnUse" | ||
79 | id="clipPath848"> | ||
80 | <path | ||
81 | sodipodi:nodetypes="scccccs" | ||
82 | inkscape:connector-curvature="0" | ||
83 | id="path850" | ||
84 | d="M 151.14447,0.33917988 C 146.26964,-2.2314866 116.36421,8.7225203 104.2178,29.016572 c 5.41086,7.633828 19.06431,-0.122979 24.53933,-0.494288 -1.49634,2.310053 -4.03617,8.310589 -4.08717,11.335166 2.22409,0.85854 9.31981,0.611108 12.13198,-2.270484 1.5001,5.35635 -1.15567,17.091196 6.48995,18.435725 10.36626,-17.966089 13.24747,-52.8385826 7.85258,-55.68351112 z" | ||
85 | style="opacity:1;fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.79999995;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill" /> | ||
86 | </clipPath> | ||
87 | </defs> | ||
88 | <sodipodi:namedview | ||
89 | id="base" | ||
90 | pagecolor="#ffffff" | ||
91 | bordercolor="#666666" | ||
92 | borderopacity="1.0" | ||
93 | inkscape:pageopacity="0.0" | ||
94 | inkscape:pageshadow="2" | ||
95 | inkscape:zoom="3.959798" | ||
96 | inkscape:cx="-73.66895" | ||
97 | inkscape:cy="57.315828" | ||
98 | inkscape:document-units="px" | ||
99 | inkscape:current-layer="layer5" | ||
100 | showgrid="false" | ||
101 | units="px" | ||
102 | fit-margin-top="0" | ||
103 | fit-margin-left="0" | ||
104 | fit-margin-right="0" | ||
105 | fit-margin-bottom="0" | ||
106 | inkscape:window-width="3840" | ||
107 | inkscape:window-height="1982" | ||
108 | inkscape:window-x="2880" | ||
109 | inkscape:window-y="0" | ||
110 | inkscape:window-maximized="1" | ||
111 | showguides="false" /> | ||
112 | <metadata | ||
113 | id="metadata5"> | ||
114 | <rdf:RDF> | ||
115 | <cc:Work | ||
116 | rdf:about=""> | ||
117 | <dc:format>image/svg+xml</dc:format> | ||
118 | <dc:type | ||
119 | rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> | ||
120 | <dc:title /> | ||
121 | </cc:Work> | ||
122 | </rdf:RDF> | ||
123 | </metadata> | ||
124 | <g | ||
125 | inkscape:groupmode="layer" | ||
126 | id="layer3" | ||
127 | inkscape:label="Ear back"> | ||
128 | <path | ||
129 | style="opacity:1;fill:#313131;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.79999971;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill" | ||
130 | d="M 29.016837,8.3559144 C 34.202193,4.9502112 46.589501,26.899548 61.820088,33.61172 L 37.898219,47.022183 C 38.34816,37.134746 21.498685,13.293783 29.016837,8.3559144 Z" | ||
131 | id="rect870-2" | ||
132 | inkscape:connector-curvature="0" | ||
133 | sodipodi:nodetypes="sccs" /> | ||
134 | <path | ||
135 | clip-path="none" | ||
136 | sodipodi:nodetypes="sccccccss" | ||
137 | inkscape:connector-curvature="0" | ||
138 | id="path872" | ||
139 | d="m 28.816664,12.318935 c -1.90318,0.17624 -3.100656,7.834249 0.86328,15.863866 -1.070048,-0.913878 -1.722349,-1.31437 -4.427741,-2.086556 0.860194,5.434197 1.669606,9.722352 6.986348,12.532257 l -6.009466,-0.908505 c 2.420264,4.264814 6.144546,8.715543 12.149725,9.994834 l 4.170112,-4.719701 c -7.829601,-1.028162 -4.540894,-14.91396 -7.341321,-23.658679 -1.646262,-5.140676 -4.76114,-7.16844 -6.390937,-7.017516 z" | ||
140 | style="opacity:1;fill:#ebdccc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.80000019;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill" /> | ||
141 | </g> | ||
142 | <g | ||
143 | inkscape:groupmode="layer" | ||
144 | id="layer4" | ||
145 | inkscape:label="Body"> | ||
146 | <path | ||
147 | style="opacity:1;fill:#ff8702;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.79999995;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill" | ||
148 | d="m 131.33574,72.045403 c 0,12.097655 -2.59135,13.281281 -2.59135,20.030468 0,6.837553 2.98068,8.991339 1.70761,13.742539 -1.58771,5.92541 -10.6125,13.92508 -29.35974,17.49393 -17.769721,3.38278 -40.642225,3.37674 -52.359541,1.072 C 36.94216,122.06522 18.158892,115.32142 16.016115,105.58697 12.968442,91.741644 16.973576,71.600547 25.391271,57.002911 33.353341,43.195401 42.902865,34.136258 55.637676,34.564369 l -12.69413,-3.068927 c 9.225609,-2.292664 13.305081,-3.195092 21.474057,0.694344 -4.723992,-3.628616 -7.357115,-10.88339 -9.51141,-14.027245 12.162676,0.926524 22.386262,6.280477 26.8156,9.155527 l -1.65959,-6.902823 c 5.707433,1.74409 8.220279,5.656085 14.7602,6.770793 17.046337,3.121846 36.513337,18.385801 36.513337,44.859365 z" | ||
149 | id="path837" | ||
150 | inkscape:connector-curvature="0" | ||
151 | sodipodi:nodetypes="ssssssscccccccs" /> | ||
152 | </g> | ||
153 | <g | ||
154 | inkscape:groupmode="layer" | ||
155 | id="layer5" | ||
156 | inkscape:label="Ear front"> | ||
157 | <path | ||
158 | sodipodi:nodetypes="sccccs" | ||
159 | inkscape:connector-curvature="0" | ||
160 | id="path873-7" | ||
161 | d="M 130.48959,8.3554614 C 125.89862,5.9344929 97.734442,16.250638 86.295265,35.362969 c 5.095809,7.189297 23.062015,-0.370107 26.698065,-4.749665 l 4.51131,8.710993 c 0.47234,5.183771 -1.61085,20.205977 5.58962,21.472202 9.76265,-16.919905 12.47613,-49.761768 7.39533,-52.4410376 z" | ||
162 | style="opacity:1;fill:#313131;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.79999971;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill" /> | ||
163 | <path | ||
164 | style="opacity:1;fill:#ebdccc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.80000019;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill" | ||
165 | clip-path="none" | ||
166 | d="m 126.82589,12.09136 c -2.92175,0.112334 -10.38905,2.930487 -14.89336,6.581462 -5.73742,4.650478 -8.6702,16.976614 -16.177747,19.737919 5.118187,-0.715108 10.636307,-3.216286 13.602497,-3.417879 -1.4062,2.175538 -3.79447,7.825409 -3.8424,10.673863 2.09011,0.808548 8.75945,0.576007 11.40222,-2.13779 0.62941,2.252192 0.48349,5.69966 0.76504,8.94122 0.005,-12.204285 10.24428,-16.361228 11.29231,-27.963668 0.63883,-7.072309 0.14154,-11.656119 -1.19604,-12.292291 -0.21,-0.09987 -0.53512,-0.138884 -0.95252,-0.122836 z" | ||
167 | id="path958-0" | ||
168 | inkscape:connector-curvature="0" /> | ||
169 | </g> | ||
170 | <g | ||
171 | inkscape:label="Face" | ||
172 | inkscape:groupmode="layer" | ||
173 | id="layer1" | ||
174 | transform="translate(-26.911905,0.03095311)"> | ||
175 | <ellipse | ||
176 | style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:9.04046822;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" | ||
177 | id="path885" | ||
178 | cx="114.81496" | ||
179 | cy="80.751488" | ||
180 | rx="8.1152287" | ||
181 | ry="9.2020283" | ||
182 | transform="matrix(0.98788675,-0.15517655,0.02204363,0.99975701,0,0)" /> | ||
183 | <ellipse | ||
184 | transform="matrix(0.99926374,0.03836632,-0.1781569,0.98400209,0,0)" | ||
185 | ry="8.8585596" | ||
186 | rx="7.5192423" | ||
187 | cy="55.793896" | ||
188 | cx="85.02655" | ||
189 | id="ellipse887" | ||
190 | style="opacity:1;fill:#fefefe;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:9.0448246;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" /> | ||
191 | <path | ||
192 | style="fill:none;fill-opacity:1;stroke:#313131;stroke-width:4.39999962;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" | ||
193 | d="m 70.21721,87.127789 c 0.78831,3.806547 2.955292,8.662866 5.050509,11.876835 4.053698,-2.159191 6.635108,-6.287271 9.762503,-9.195233 1.468152,1.93182 4.737353,8.709283 7.97509,11.984629 4.241753,-2.435016 9.498818,-7.893426 10.857168,-9.165649" | ||
194 | id="path889" | ||
195 | inkscape:connector-curvature="0" | ||
196 | sodipodi:nodetypes="ccccc" /> | ||
197 | <path | ||
198 | style="opacity:1;fill:#313131;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.79999995;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill" | ||
199 | d="m 94.75417,77.561873 c 0,1.556098 -7.01827,6.809369 -9.65579,6.479136 -2.841525,-0.355774 -6.477864,-7.386141 -5.914344,-8.833727 1.43064,-3.675081 15.570134,-1.932683 15.570134,2.354591 z" | ||
200 | id="rect902" | ||
201 | inkscape:connector-curvature="0" | ||
202 | sodipodi:nodetypes="ssss" /> | ||
203 | <path | ||
204 | style="display:inline;fill:none;stroke:#313131;stroke-width:3.99999976;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" | ||
205 | d="m 86.181219,58.356682 c -2.043166,8.259472 -7.552415,9.770885 -11.655767,13.254742 -3.296997,2.799238 -3.354552,7.479455 -1.676941,9.878623" | ||
206 | id="path890" | ||
207 | inkscape:connector-curvature="0" | ||
208 | sodipodi:nodetypes="csc" /> | ||
209 | <ellipse | ||
210 | transform="matrix(0.92474092,-0.38059721,0.08725697,0.99618584,0,0)" | ||
211 | ry="4.9944506" | ||
212 | rx="3.6330943" | ||
213 | cy="108.07193" | ||
214 | cx="110.67609" | ||
215 | id="ellipse841" | ||
216 | style="opacity:1;fill:#313131;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:4.09439135;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" /> | ||
217 | <ellipse | ||
218 | style="opacity:1;fill:#313131;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:4.09439135;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" | ||
219 | id="ellipse846" | ||
220 | cx="76.588753" | ||
221 | cy="84.886826" | ||
222 | rx="3.6330941" | ||
223 | ry="4.9944506" | ||
224 | transform="matrix(0.95022674,-0.31155921,0.01375907,0.99990534,0,0)" /> | ||
225 | </g> | ||
226 | <g | ||
227 | inkscape:groupmode="layer" | ||
228 | id="layer6" | ||
229 | inkscape:label="Whiskers" | ||
230 | style="display:none"> | ||
231 | <path | ||
232 | style="fill:none;fill-opacity:1;stroke:#313131;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" | ||
233 | d="m 68.645975,77.025193 c 9.338035,-1.395359 20.51424,-0.625306 30.695296,1.011356" | ||
234 | id="path943" | ||
235 | inkscape:connector-curvature="0" | ||
236 | sodipodi:nodetypes="cc" /> | ||
237 | <path | ||
238 | sodipodi:nodetypes="cc" | ||
239 | inkscape:connector-curvature="0" | ||
240 | id="path945" | ||
241 | d="m 67.228811,83.13089 c 11.440451,0.448873 21.054841,4.550435 30.034524,11.48183" | ||
242 | style="fill:none;fill-opacity:1;stroke:#313131;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> | ||
243 | <path | ||
244 | sodipodi:nodetypes="cc" | ||
245 | inkscape:connector-curvature="0" | ||
246 | id="path947" | ||
247 | d="M 32.895393,71.456936 C 26.718997,67.627467 21.192825,65.440905 14.567884,63.58624" | ||
248 | style="fill:none;fill-opacity:1;stroke:#313131;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> | ||
249 | <path | ||
250 | style="fill:none;fill-opacity:1;stroke:#313131;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" | ||
251 | d="M 32.16221,76.367993 C 24.397529,74.197356 17.839504,73.28738 10.803794,73.046759" | ||
252 | id="path949" | ||
253 | inkscape:connector-curvature="0" | ||
254 | sodipodi:nodetypes="cc" /> | ||
255 | </g> | ||
256 | </svg> | ||
@@ -8,13 +8,14 @@ rm -f export_flip/* | |||
8 | 8 | ||
9 | find . -type f \( -iname "*.svg" ! -iname ".*" \) -print0 | parallel -0 'x={.}; inkscape -z -e "export/${x#./}.png" "{}"' {} \; | 9 | find . -type f \( -iname "*.svg" ! -iname ".*" \) -print0 | parallel -0 'x={.}; inkscape -z -e "export/${x#./}.png" "{}"' {} \; |
10 | ./blobfoxdundundun.sh | 10 | ./blobfoxdundundun.sh |
11 | ./blobfoxhyperowo.sh | ||
11 | cp LICENSE export/ | 12 | cp LICENSE export/ |
12 | cp export/* export_flip/ | 13 | cp export/* export_flip/ |
13 | 14 | ||
14 | cd export | 15 | cd export |
15 | apngasm -o ablobfoxbongo.png blobfoxbongo.png 100 blobfoxbongostart.png 100 | 16 | apngasm -o ablobfoxbongo.png blobfoxbongo.png 100 blobfoxbongostart.png 100 |
16 | apngasm -o ablobfoxhyper.png blobfoxhyper1.png 2:100 blobfoxhyper2.png 2:100 blobfoxhyper3.png 2:100 | 17 | apngasm -o ablobfoxhyper.png blobfoxhyper1.png 2:100 blobfoxhyper2.png 2:100 blobfoxhyper3.png 2:100 |
17 | rm blobfoxhyper1.png blobfoxhyper2.png blobfoxhyper3.png | 18 | rm blobfoxhyper1.png blobfoxhyper2.png blobfoxhyper3.png blobfoxhyperowo.png |
18 | 19 | ||
19 | FILELIST=`find . -type f -iname '*.png' -exec sh -c 'x=${0#./}; printf "%s:%s|" ${x%.png} $x' {} \;` | 20 | FILELIST=`find . -type f -iname '*.png' -exec sh -c 'x=${0#./}; printf "%s:%s|" ${x%.png} $x' {} \;` |
20 | jq -Rn 'input | split("|") | map(split(":") | { key: .[0], value: .[1] }) | from_entries' <<< "${FILELIST%|}" > blobfox.json | 21 | jq -Rn 'input | split("|") | map(split(":") | { key: .[0], value: .[1] }) | from_entries' <<< "${FILELIST%|}" > blobfox.json |
@@ -30,7 +31,7 @@ find . -type f -iname '*.png' -exec sh -c 'x=${0#./blobfox}; mv blobfox$x revblo | |||
30 | mogrify -flop *.png | 31 | mogrify -flop *.png |
31 | apngasm -o arevblobfoxbongo.png revblobfoxbongo.png 100 revblobfoxbongostart.png 100 | 32 | apngasm -o arevblobfoxbongo.png revblobfoxbongo.png 100 revblobfoxbongostart.png 100 |
32 | apngasm -o arevblobfoxhyper.png revblobfoxhyper1.png 2:100 revblobfoxhyper2.png 2:100 revblobfoxhyper3.png 2:100 | 33 | apngasm -o arevblobfoxhyper.png revblobfoxhyper1.png 2:100 revblobfoxhyper2.png 2:100 revblobfoxhyper3.png 2:100 |
33 | rm revblobfoxhyper1.png revblobfoxhyper2.png revblobfoxhyper3.png | 34 | rm revblobfoxhyper1.png revblobfoxhyper2.png revblobfoxhyper3.png revblobfoxhyperowo.png |
34 | FILELIST=`find . -type f -iname '*.png' -exec sh -c 'x=${0#./}; printf "%s:%s|" ${x%.png} $x' {} \;` | 35 | FILELIST=`find . -type f -iname '*.png' -exec sh -c 'x=${0#./}; printf "%s:%s|" ${x%.png} $x' {} \;` |
35 | jq -Rn 'input | split("|") | map(split(":") | { key: .[0], value: .[1] }) | from_entries' <<< "${FILELIST%|}" > blobfox_flip.json | 36 | jq -Rn 'input | split("|") | map(split(":") | { key: .[0], value: .[1] }) | from_entries' <<< "${FILELIST%|}" > blobfox_flip.json |
36 | 37 | ||
diff --git a/shakeoffsets.sh b/shakeoffsets.sh new file mode 100644 index 0000000..baf820c --- /dev/null +++ b/shakeoffsets.sh | |||
@@ -0,0 +1,80 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | function getShakeOffsets { | ||
4 | local -n arr=$1 | ||
5 | arr=(15:5:143:133 | ||
6 | 10:-5:138:123 | ||
7 | 20:-2:148:126 | ||
8 | 10:-5:138:123 | ||
9 | 18:5:146:133 | ||
10 | 15:-5:143:123 | ||
11 | 10:0:138:128 | ||
12 | 12:0:140:128 | ||
13 | 10:-1:138:127 | ||
14 | 9:0:137:128 | ||
15 | 10:1:138:129 | ||
16 | 17:-2:145:126 | ||
17 | 14:-6:142:122 | ||
18 | 10:0:138:128 | ||
19 | 22:-5:150:123 | ||
20 | 15:-2:143:126 | ||
21 | 14:3:142:131 | ||
22 | 13:-6:141:122 | ||
23 | 5:-6:133:122 | ||
24 | 3:-8:131:120 | ||
25 | 15:-8:143:120 | ||
26 | 20:-7:148:121 | ||
27 | 17:-9:145:119 | ||
28 | 16:5:144:133 | ||
29 | 13:-5:141:123 | ||
30 | 15:-4:143:124 | ||
31 | 16:10:144:138 | ||
32 | 11:5:139:133 | ||
33 | 12:2:140:130 | ||
34 | 10:5:138:133 | ||
35 | 10:0:138:128 | ||
36 | 13:3:141:131 | ||
37 | 17:-1:145:127 | ||
38 | 18:-1:146:127 | ||
39 | 14:1:142:129 | ||
40 | 5:1:133:129 | ||
41 | 7:-4:135:124 | ||
42 | 17:-1:145:127 | ||
43 | 19:5:147:133 | ||
44 | 15:-3:143:125 | ||
45 | 15:-3:143:125 | ||
46 | 14:-4:142:124 | ||
47 | 16:-5:144:123 | ||
48 | 16:10:144:138 | ||
49 | 10:5:138:133 | ||
50 | 5:6:133:134 | ||
51 | 5:10:133:138 | ||
52 | 5:0:133:128 | ||
53 | 8:5:136:133 | ||
54 | 3:7:131:135 | ||
55 | 5:-5:133:123 | ||
56 | 8:0:136:128 | ||
57 | 6:4:134:132 | ||
58 | 6:-6:134:122 | ||
59 | 5:-8:133:120 | ||
60 | 10:5:138:133 | ||
61 | 6:3:134:131 | ||
62 | 2:1:130:129 | ||
63 | 8:5:136:133 | ||
64 | 2:2:130:130 | ||
65 | -2:2:126:130 | ||
66 | 0:0:128:128 | ||
67 | 10:-5:138:123 | ||
68 | 5:0:133:128 | ||
69 | 4:0:132:128 | ||
70 | 6:2:134:130 | ||
71 | 4:0:132:128 | ||
72 | 10:0:138:128 | ||
73 | 20:-5:148:123 | ||
74 | 16:-3:144:125 | ||
75 | 8:-1:136:127 | ||
76 | 9:2:137:130 | ||
77 | 16:-3:144:125 | ||
78 | 15:-5:143:123 | ||
79 | 5:-7:133:121) | ||
80 | } | ||