]> de.git.xonotic.org Git - voretournament/voretournament.git/blob - data/models/sprites/make-sprites.sh
Initial checkout of Vore Tournament 0.1.alpha.
[voretournament/voretournament.git] / data / models / sprites / make-sprites.sh
1 #!/bin/bash\r
2 \r
3 width=512\r
4 height=64\r
5 \r
6 sprwidth=512\r
7 sprheight=64\r
8 \r
9 pngsprite()\r
10 {\r
11         local name text color bgcolor\r
12         name=$1\r
13         color=$2\r
14         bgcolor=$3\r
15         text=$4\r
16         svgwidth=1024\r
17         svgheight=128\r
18 \r
19         cat <<EOF >$name.svg\r
20 <?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
21 <!-- Created with Inkscape (http://www.inkscape.org/) -->\r
22 <svg\r
23    xmlns:dc="http://purl.org/dc/elements/1.1/"\r
24    xmlns:cc="http://web.resource.org/cc/"\r
25    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"\r
26    xmlns:svg="http://www.w3.org/2000/svg"\r
27    xmlns="http://www.w3.org/2000/svg"\r
28    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"\r
29    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"\r
30    width="1024"\r
31    height="128"\r
32    id="svg2"\r
33    sodipodi:version="0.32"\r
34    inkscape:version="0.45"\r
35    version="1.0"\r
36    inkscape:export-filename="bluebase.tga"\r
37    inkscape:export-xdpi="90"\r
38    inkscape:export-ydpi="90"\r
39    sodipodi:docname="template.svg"\r
40    sodipodi:docbase="/home/rpolzer/software/games/nexuiz/data/models/sprites"\r
41    inkscape:output_extension="org.inkscape.output.svg.inkscape"\r
42    sodipodi:modified="true">\r
43   <defs\r
44      id="defs4" />\r
45   <sodipodi:namedview\r
46      id="base"\r
47      pagecolor="#$bgcolor"\r
48      bordercolor="#666666"\r
49      borderopacity="1.0"\r
50      gridtolerance="10000"\r
51      guidetolerance="10"\r
52      objecttolerance="10"\r
53      inkscape:pageopacity="0"\r
54      inkscape:pageshadow="2"\r
55      inkscape:zoom="0.98994949"\r
56      inkscape:cx="375"\r
57      inkscape:cy="75.53288"\r
58      inkscape:document-units="px"\r
59      inkscape:current-layer="layer1"\r
60      width="1024px"\r
61      height="128px"\r
62      showgrid="true"\r
63      gridspacingx="8px"\r
64      gridspacingy="8px"\r
65      gridempspacing="8"\r
66      inkscape:grid-points="true"\r
67      showguides="true"\r
68      inkscape:guide-bbox="true"\r
69      inkscape:window-width="849"\r
70      inkscape:window-height="590"\r
71      inkscape:window-x="198"\r
72      inkscape:window-y="66" />\r
73   <metadata\r
74      id="metadata7">\r
75     <rdf:RDF>\r
76       <cc:Work\r
77          rdf:about="">\r
78         <dc:format>image/svg+xml</dc:format>\r
79         <dc:type\r
80            rdf:resource="http://purl.org/dc/dcmitype/StillImage" />\r
81       </cc:Work>\r
82     </rdf:RDF>\r
83   </metadata>\r
84   <g\r
85      inkscape:label="Layer 1"\r
86      inkscape:groupmode="layer"\r
87      id="layer1">\r
88     <path\r
89        style="opacity:1;fill:#$color;fill-opacity:1;stroke:#$bgcolor;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"\r
90        d="M 512,124 L 536,100 L 520,100 L 520,60 L 504,60 L 504,100 L 488,100 L 512,124 z "\r
91        id="path1872"\r
92        sodipodi:nodetypes="cccccccc" />\r
93     <text\r
94        xml:space="preserve"\r
95        style="font-size:120px;font-weight:bold;text-align:center;text-anchor:middle;opacity:1;fill:#$color;fill-opacity:1;stroke:#$bgcolor;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:xscale"\r
96        x="512"\r
97        y="50"\r
98        id="text1874"><tspan\r
99          sodipodi:role="line"\r
100          id="tspan1876"\r
101          x="255.49414"\r
102          y="49.957031">$text</tspan></text>\r
103   </g>\r
104 </svg>\r
105 EOF\r
106         enlargex=$(($sprwidth - $width))\r
107         enlargey=$(($sprheight - $height))\r
108 \r
109         \r
110 \r
111         inkscape -z -w $sprwidth -h $sprheight \\r
112                 -a "$((-$enlargex * $svgwidth / $width / 2)):0:$(($svgwidth + $enlargex * $svgwidth / $width / 2)):$(($svgheight + $enlargey * $svgheight / $height))" \\r
113                 -e "$name.png" "$name.svg"\r
114 }\r
115 \r
116 sprite()\r
117 {\r
118         local name text color bgcolor interval frame args\r
119         name=$1\r
120         text=$2\r
121         shift\r
122         shift\r
123         args=\r
124         frame=0\r
125         while [ $# -gt 0 ]; do\r
126                 color=$1\r
127                 bgcolor=$2\r
128                 interval=$3\r
129                 shift\r
130                 shift\r
131                 shift\r
132                 pngsprite "${name}_frame$frame" "$color" "$bgcolor" "$text"\r
133                 convert "${name}_frame$frame.png" "${name}_frame$frame.tga"\r
134                 rm -f "${name}_frame$frame.png"\r
135                 args="$args -sprite ${name}_frame$frame.tga $(($sprwidth / 2)) $(($sprheight - 1)) $interval"\r
136                 frame=$(($frame + 1))\r
137         done\r
138         #./makespr32 -o "$name.sp2" -proj 5 -group $args\r
139 }\r
140 \r
141 sprite as-push            "Push"          ff8000 000000 0.0\r
142 sprite as-destroy         "Destroy"       ff8000 000000 0.0\r
143 sprite as-defend          "Defend"        0080ff 000000 0.0\r
144 sprite bluebase           "Blue Base"     0050ff 000000 0.0\r
145 sprite danger             "DANGER"        ff0000 ffff00 0.0\r
146 sprite flagcarrier        "Flag carrier"  ffff00 000000 0.0\r
147 sprite flagdropped        "Dropped flag"  00ffff 000000 0.0\r
148 sprite helpme             "Help me!"      ffff00 ff0000 0.0\r
149 sprite here               "Here"          00ff00 000000 0.0\r
150 sprite key-dropped        "Dropped key"   00ffff 000000 0.0\r
151 sprite keycarrier-blue    "Key carrier"   0050ff 000000 0.0\r
152 sprite keycarrier-finish  "Run here"      00ffff 000000 0.0\r
153 sprite keycarrier-friend  "Key carrier"   00ff00 000000 0.0\r
154 sprite keycarrier-pink    "Key carrier"   ff00ff 000000 0.0\r
155 sprite keycarrier-red     "Key carrier"   ff0000 000000 0.0\r
156 sprite keycarrier-yellow  "Key carrier"   ffff00 000000 0.0\r
157 sprite redbase            "Red base"      ff0000 000000 0.0\r
158 sprite waypoint           "Waypoint"      008080 000000 0.0\r
159 sprite ons-gen-red        "Generator"     ff0000 000000 0.0\r
160 sprite ons-gen-blue       "Generator"     0050ff 000000 0.0\r
161 sprite ons-gen-shielded   "Generator"     808080 000000 0.0\r
162 sprite ons-cp-neut        "Control point" ffff00 000000 0.0\r
163 sprite ons-cp-red         "Control point" ff0000 000000 0.0\r
164 sprite ons-cp-blue        "Control point" 0050ff 000000 0.0\r
165 sprite ons-cp-atck-neut   "Control point" ffff00 000000 0.5 000000 ffff00 0.5\r
166 sprite ons-cp-atck-red    "Control point" ff0000 000000 0.5 ff0000 ffff00 0.5\r
167 sprite ons-cp-atck-blue   "Control point" 0050ff 000000 0.5 0050ff ffff00 0.5\r
168 sprite ons-cp-dfnd-red    "Control point" ff0000 000000 0.5 ff0000 ffffff 0.5\r
169 sprite ons-cp-dfnd-blue   "Control point" 0050ff 000000 0.5 0050ff ffffff 0.5\r
170 sprite race-checkpoint    "Checkpoint"    ff8000 000000 0.0\r
171 sprite race-finish        "Finish"        ff8000 000000 0.0\r
172 sprite race-start         "Start"         ff8000 000000 0.0\r
173 sprite nb-ball            "Ball"          e8d8a0 000000 0.0\r
174 \r
175 sprite wpn-laser          "Laser"         ff8080 000000 0.0 # bright red\r
176 sprite wpn-shotgun        "Shotgun"       804000 000000 0.0 # brown\r
177 sprite wpn-uzi            "Machine Gun"   ffff00 000000 0.0 # yellow\r
178 sprite wpn-gl             "Mortar"        ff0000 000000 0.0 # red\r
179 sprite wpn-electro        "Electro"       0080ff 000000 0.0 # bluish cyan\r
180 sprite wpn-crylink        "Crylink"       ff80ff 000000 0.0 # bright pink\r
181 sprite wpn-nex            "Nex"           00ffff 000000 0.0 # cyan\r
182 sprite wpn-hagar          "Hagar"         ffff80 000000 0.0 # bright yellow\r
183 sprite wpn-rl             "Rocket Launcher" ffff00 000000 0.0 # yellow\r
184 sprite wpn-porto          "Port-O-Launch" 808080 000000 0.0 # grey\r
185 sprite wpn-minstanex      "Minstanex"     80ffff 000000 0.0 # bright cyan\r
186 sprite wpn-hookgun        "Hook"          008000 000000 0.0 # dark green\r
187 sprite wpn-fireball       "Fireball"      ff8000 000000 0.0 # orange\r
188 sprite wpn-hlac           "HLAC"          00ff00 000000 0.0 # green\r
189 sprite wpn-campingrifle   "Rifle"         80ff00 000000 0.0 # orange\r
190 \r
191 sprite dom-neut           "Control point" 00ffff 000000 0.0\r
192 sprite dom-red            "Control point" ff0000 000000 0.0\r
193 sprite dom-blue           "Control point" 0050ff 000000 0.0\r
194 sprite dom-yellow         "Control point" ffff00 000000 0.0\r
195 sprite dom-pink           "Control point" ff00ff 000000 0.0\r
196 \r
197 sprite item-invis         "Invisibility"  0050ff 000000 0.5 0050ff ffff00 0.5\r
198 sprite item-extralife     "Extra life"    ff0000 000000 0.5 ff0000 ffff00 0.5\r
199 sprite item-speed         "Speed"         ff00ff 000000 0.5 ff00ff ffff00 0.5\r
200 sprite item-strength      "Strength"      0050ff 000000 0.5 0050ff ffff00 0.5\r
201 sprite item-shield        "Shield"        ff00ff 000000 0.5 ff00ff ffff00 0.5\r
202 sprite item-fuelregen     "Fuel regen"    ff8000 000000 0.5 ff8000 ffff00 0.5\r
203 sprite item-jetpack       "Jet Pack"      808080 000000 0.5 808080 ffff00 0.5\r