summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFeuerfuchs <git@feuerfuchs.dev>2019-09-28 17:38:09 +0200
committerFeuerfuchs <git@feuerfuchs.dev>2019-09-28 17:38:09 +0200
commit821ddad7c800f18f6ec962a18a88ff0bf58825aa (patch)
tree97f217f2e579bf0cddfd3d12d44afe8d14697a4b
parentnew: boopterrified, cactus, cofemlem, dealwititfingerguns, dundundun* heartcu... (diff)
downloadblobfox-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--.gitignore2
-rwxr-xr-xblobfoxdundundun.sh113
-rwxr-xr-xblobfoxhyperowo.sh34
-rw-r--r--blobfoxhyperowo.svg256
-rwxr-xr-xgen.sh5
-rw-r--r--shakeoffsets.sh80
6 files changed, 404 insertions, 86 deletions
diff --git a/.gitignore b/.gitignore
index 05c85f8..5f30fb7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,3 @@
1export 1export
2export_flip 2export_flip
3export_dundundun 3export_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
3mkdir -p export_dundundun 3source ./shakeoffsets.sh
4inkscape -z -e "export_dundundun/1.png" "blobfoxdundundun1.svg" 4
5inkscape -z -e "export_dundundun/2.png" "blobfoxdundundun2.svg" 5declare -a shakeOffsets
6inkscape -z -e "export_dundundun/3.png" "blobfoxdundundun3.svg" 6getShakeOffsets shakeOffsets
7inkscape -z -e "export_dundundun/4.png" "blobfoxdundundun4.svg" 7
8inkscape -z -e "export_dundundun/5.png" -a 15:5:143:133 "blobfoxdundundun4.svg" 8
9inkscape -z -e "export_dundundun/6.png" -a 10:-5:138:123 "blobfoxdundundun4.svg" 9mkdir -p export_tmp
10inkscape -z -e "export_dundundun/7.png" -a 20:-2:148:126 "blobfoxdundundun4.svg" 10rm -f export_tmp/*
11inkscape -z -e "export_dundundun/8.png" -a 10:-5:138:123 "blobfoxdundundun4.svg" 11
12inkscape -z -e "export_dundundun/9.png" -a 18:5:146:133 "blobfoxdundundun4.svg" 12
13inkscape -z -e "export_dundundun/10.png" -a 15:-5:143:123 "blobfoxdundundun4.svg" 13inkscape -z -e "export_tmp/1.png" "blobfoxdundundun1.svg"
14inkscape -z -e "export_dundundun/11.png" -a 10:0:138:128 "blobfoxdundundun4.svg" 14inkscape -z -e "export_tmp/2.png" "blobfoxdundundun2.svg"
15inkscape -z -e "export_dundundun/12.png" -a 12:0:140:128 "blobfoxdundundun4.svg" 15inkscape -z -e "export_tmp/3.png" "blobfoxdundundun3.svg"
16inkscape -z -e "export_dundundun/13.png" -a 10:-1:138:127 "blobfoxdundundun4.svg" 16inkscape -z -e "export_tmp/4.png" "blobfoxdundundun4.svg"
17inkscape -z -e "export_dundundun/14.png" -a 9:0:137:128 "blobfoxdundundun4.svg" 17
18inkscape -z -e "export_dundundun/15.png" -a 10:1:138:129 "blobfoxdundundun4.svg" 18counter=5
19inkscape -z -e "export_dundundun/16.png" -a 17:-2:145:126 "blobfoxdundundun4.svg" 19while [ $counter -le 79 ]
20inkscape -z -e "export_dundundun/17.png" -a 14:-6:142:122 "blobfoxdundundun4.svg" 20do
21inkscape -z -e "export_dundundun/18.png" -a 10:0:138:128 "blobfoxdundundun4.svg" 21 offset=${shakeOffsets[counter-5]}
22inkscape -z -e "export_dundundun/19.png" -a 22:-5:150:123 "blobfoxdundundun4.svg" 22 file=`printf "export_tmp/%s.png" $counter`
23inkscape -z -e "export_dundundun/20.png" -a 15:-2:143:126 "blobfoxdundundun4.svg" 23 inkscape -z -e $file -a $offset "blobfoxdundundun4.svg"
24inkscape -z -e "export_dundundun/21.png" -a 14:3:142:131 "blobfoxdundundun4.svg" 24 ((counter++))
25inkscape -z -e "export_dundundun/22.png" -a 13:-6:141:122 "blobfoxdundundun4.svg" 25done
26inkscape -z -e "export_dundundun/23.png" -a 5:-6:133:122 "blobfoxdundundun4.svg" 26
27inkscape -z -e "export_dundundun/24.png" -a 3:-8:131:120 "blobfoxdundundun4.svg"
28inkscape -z -e "export_dundundun/25.png" -a 15:-8:143:120 "blobfoxdundundun4.svg"
29inkscape -z -e "export_dundundun/26.png" -a 20:-7:148:121 "blobfoxdundundun4.svg"
30inkscape -z -e "export_dundundun/27.png" -a 17:-9:145:119 "blobfoxdundundun4.svg"
31inkscape -z -e "export_dundundun/28.png" -a 16:5:144:133 "blobfoxdundundun4.svg"
32inkscape -z -e "export_dundundun/29.png" -a 13:-5:141:123 "blobfoxdundundun4.svg"
33inkscape -z -e "export_dundundun/30.png" -a 15:-4:143:124 "blobfoxdundundun4.svg"
34inkscape -z -e "export_dundundun/31.png" -a 16:10:144:138 "blobfoxdundundun4.svg"
35inkscape -z -e "export_dundundun/32.png" -a 11:5:139:133 "blobfoxdundundun4.svg"
36inkscape -z -e "export_dundundun/33.png" -a 12:2:140:130 "blobfoxdundundun4.svg"
37inkscape -z -e "export_dundundun/34.png" -a 10:5:138:133 "blobfoxdundundun4.svg"
38inkscape -z -e "export_dundundun/35.png" -a 10:0:138:128 "blobfoxdundundun4.svg"
39inkscape -z -e "export_dundundun/36.png" -a 13:3:141:131 "blobfoxdundundun4.svg"
40inkscape -z -e "export_dundundun/37.png" -a 17:-1:145:127 "blobfoxdundundun4.svg"
41inkscape -z -e "export_dundundun/38.png" -a 18:-1:146:127 "blobfoxdundundun4.svg"
42inkscape -z -e "export_dundundun/39.png" -a 14:1:142:129 "blobfoxdundundun4.svg"
43inkscape -z -e "export_dundundun/40.png" -a 5:1:133:129 "blobfoxdundundun4.svg"
44inkscape -z -e "export_dundundun/41.png" -a 7:-4:135:124 "blobfoxdundundun4.svg"
45inkscape -z -e "export_dundundun/42.png" -a 17:-1:145:127 "blobfoxdundundun4.svg"
46inkscape -z -e "export_dundundun/43.png" -a 19:5:147:133 "blobfoxdundundun4.svg"
47inkscape -z -e "export_dundundun/44.png" -a 15:-3:143:125 "blobfoxdundundun4.svg"
48inkscape -z -e "export_dundundun/45.png" -a 15:-3:143:125 "blobfoxdundundun4.svg"
49inkscape -z -e "export_dundundun/46.png" -a 14:-4:142:124 "blobfoxdundundun4.svg"
50inkscape -z -e "export_dundundun/47.png" -a 16:-5:144:123 "blobfoxdundundun4.svg"
51inkscape -z -e "export_dundundun/48.png" -a 16:10:144:138 "blobfoxdundundun4.svg"
52inkscape -z -e "export_dundundun/49.png" -a 10:5:138:133 "blobfoxdundundun4.svg"
53inkscape -z -e "export_dundundun/50.png" -a 5:6:133:134 "blobfoxdundundun4.svg"
54inkscape -z -e "export_dundundun/51.png" -a 5:10:133:138 "blobfoxdundundun4.svg"
55inkscape -z -e "export_dundundun/52.png" -a 5:0:133:128 "blobfoxdundundun4.svg"
56inkscape -z -e "export_dundundun/53.png" -a 8:5:136:133 "blobfoxdundundun4.svg"
57inkscape -z -e "export_dundundun/54.png" -a 3:7:131:135 "blobfoxdundundun4.svg"
58inkscape -z -e "export_dundundun/55.png" -a 5:-5:133:123 "blobfoxdundundun4.svg"
59inkscape -z -e "export_dundundun/56.png" -a 8:0:136:128 "blobfoxdundundun4.svg"
60inkscape -z -e "export_dundundun/57.png" -a 6:4:134:132 "blobfoxdundundun4.svg"
61inkscape -z -e "export_dundundun/58.png" -a 6:-6:134:122 "blobfoxdundundun4.svg"
62inkscape -z -e "export_dundundun/59.png" -a 5:-8:133:120 "blobfoxdundundun4.svg"
63inkscape -z -e "export_dundundun/60.png" -a 10:5:138:133 "blobfoxdundundun4.svg"
64inkscape -z -e "export_dundundun/61.png" -a 6:3:134:131 "blobfoxdundundun4.svg"
65inkscape -z -e "export_dundundun/62.png" -a 2:1:130:129 "blobfoxdundundun4.svg"
66inkscape -z -e "export_dundundun/63.png" -a 8:5:136:133 "blobfoxdundundun4.svg"
67inkscape -z -e "export_dundundun/64.png" -a 2:2:130:130 "blobfoxdundundun4.svg"
68inkscape -z -e "export_dundundun/65.png" -a -2:2:126:130 "blobfoxdundundun4.svg"
69inkscape -z -e "export_dundundun/66.png" -a 0:0:128:128 "blobfoxdundundun4.svg"
70inkscape -z -e "export_dundundun/67.png" -a 10:-5:138:123 "blobfoxdundundun4.svg"
71inkscape -z -e "export_dundundun/68.png" -a 5:0:133:128 "blobfoxdundundun4.svg"
72inkscape -z -e "export_dundundun/69.png" -a 4:0:132:128 "blobfoxdundundun4.svg"
73inkscape -z -e "export_dundundun/70.png" -a 6:2:134:130 "blobfoxdundundun4.svg"
74inkscape -z -e "export_dundundun/71.png" -a 4:0:132:128 "blobfoxdundundun4.svg"
75inkscape -z -e "export_dundundun/72.png" -a 10:0:138:128 "blobfoxdundundun4.svg"
76inkscape -z -e "export_dundundun/73.png" -a 20:-5:148:123 "blobfoxdundundun4.svg"
77inkscape -z -e "export_dundundun/74.png" -a 16:-3:144:125 "blobfoxdundundun4.svg"
78inkscape -z -e "export_dundundun/75.png" -a 8:-1:136:127 "blobfoxdundundun4.svg"
79inkscape -z -e "export_dundundun/76.png" -a 9:2:137:130 "blobfoxdundundun4.svg"
80inkscape -z -e "export_dundundun/77.png" -a 16:-3:144:125 "blobfoxdundundun4.svg"
81inkscape -z -e "export_dundundun/78.png" -a 15:-5:143:123 "blobfoxdundundun4.svg"
82inkscape -z -e "export_dundundun/79.png" -a 5:-7:133:121 "blobfoxdundundun4.svg"
83 27
84declare -a args 28declare -a args
85args+=(1.png 50:50 2.png 12:50 3.png 12:50) 29args+=(export_tmp/1.png 50:50)
30args+=(export_tmp/2.png 12:50)
31args+=(export_tmp/3.png 12:50)
86 32
87counter=4 33counter=4
88while [ $counter -le 79 ] 34while [ $counter -le 79 ]
89do 35do
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++))
92done 39done
93 40
94apngasm -o export/ablobfoxdundundun.png ${args[@]} 41apngasm -o export/ablobfoxdundundun.png ${args[@]}
95rm -f export_dundundun/* 42rm -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
3source ./shakeoffsets.sh
4
5declare -a shakeOffsets
6getShakeOffsets shakeOffsets
7
8
9mkdir -p export_tmp
10rm -f export_tmp/*
11
12
13counter=1
14while [ $counter -le 75 ]
15do
16 offset=${shakeOffsets[counter-1]}
17 file=`printf "export_tmp/%s.png" $counter`
18 inkscape -z -e $file -a $offset "blobfoxhyperowo.svg"
19 ((counter++))
20done
21
22
23declare -a args
24
25counter=1
26while [ $counter -le 75 ]
27do
28 file=`printf "export_tmp/%s.png" $counter`
29 args+=($file 1:50)
30 ((counter++))
31done
32
33apngasm -o export/ablobfoxhyperowo.png ${args[@]}
34rm -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>
diff --git a/gen.sh b/gen.sh
index 7c7d263..544f31a 100755
--- a/gen.sh
+++ b/gen.sh
@@ -8,13 +8,14 @@ rm -f export_flip/*
8 8
9find . -type f \( -iname "*.svg" ! -iname ".*" \) -print0 | parallel -0 'x={.}; inkscape -z -e "export/${x#./}.png" "{}"' {} \; 9find . -type f \( -iname "*.svg" ! -iname ".*" \) -print0 | parallel -0 'x={.}; inkscape -z -e "export/${x#./}.png" "{}"' {} \;
10./blobfoxdundundun.sh 10./blobfoxdundundun.sh
11./blobfoxhyperowo.sh
11cp LICENSE export/ 12cp LICENSE export/
12cp export/* export_flip/ 13cp export/* export_flip/
13 14
14cd export 15cd export
15apngasm -o ablobfoxbongo.png blobfoxbongo.png 100 blobfoxbongostart.png 100 16apngasm -o ablobfoxbongo.png blobfoxbongo.png 100 blobfoxbongostart.png 100
16apngasm -o ablobfoxhyper.png blobfoxhyper1.png 2:100 blobfoxhyper2.png 2:100 blobfoxhyper3.png 2:100 17apngasm -o ablobfoxhyper.png blobfoxhyper1.png 2:100 blobfoxhyper2.png 2:100 blobfoxhyper3.png 2:100
17rm blobfoxhyper1.png blobfoxhyper2.png blobfoxhyper3.png 18rm blobfoxhyper1.png blobfoxhyper2.png blobfoxhyper3.png blobfoxhyperowo.png
18 19
19FILELIST=`find . -type f -iname '*.png' -exec sh -c 'x=${0#./}; printf "%s:%s|" ${x%.png} $x' {} \;` 20FILELIST=`find . -type f -iname '*.png' -exec sh -c 'x=${0#./}; printf "%s:%s|" ${x%.png} $x' {} \;`
20jq -Rn 'input | split("|") | map(split(":") | { key: .[0], value: .[1] }) | from_entries' <<< "${FILELIST%|}" > blobfox.json 21jq -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
30mogrify -flop *.png 31mogrify -flop *.png
31apngasm -o arevblobfoxbongo.png revblobfoxbongo.png 100 revblobfoxbongostart.png 100 32apngasm -o arevblobfoxbongo.png revblobfoxbongo.png 100 revblobfoxbongostart.png 100
32apngasm -o arevblobfoxhyper.png revblobfoxhyper1.png 2:100 revblobfoxhyper2.png 2:100 revblobfoxhyper3.png 2:100 33apngasm -o arevblobfoxhyper.png revblobfoxhyper1.png 2:100 revblobfoxhyper2.png 2:100 revblobfoxhyper3.png 2:100
33rm revblobfoxhyper1.png revblobfoxhyper2.png revblobfoxhyper3.png 34rm revblobfoxhyper1.png revblobfoxhyper2.png revblobfoxhyper3.png revblobfoxhyperowo.png
34FILELIST=`find . -type f -iname '*.png' -exec sh -c 'x=${0#./}; printf "%s:%s|" ${x%.png} $x' {} \;` 35FILELIST=`find . -type f -iname '*.png' -exec sh -c 'x=${0#./}; printf "%s:%s|" ${x%.png} $x' {} \;`
35jq -Rn 'input | split("|") | map(split(":") | { key: .[0], value: .[1] }) | from_entries' <<< "${FILELIST%|}" > blobfox_flip.json 36jq -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
3function 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}