]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - build-compat-pack.sh
fix the antispam
[xonotic/xonotic-data.pk3dir.git] / build-compat-pack.sh
1 #!/bin/sh
2
3 # list of files v2.4.2 clients need to play on svn servers
4
5 COMPAT_FILES="
6         effectinfo.txt
7         gfx/crosshairtuba.tga
8         gfx/hud/inv_weapon0.tga
9         gfx/hud/inv_weapon10.tga
10         gfx/hud/inv_weapon11.tga
11         gfx/hud/inv_weapon12.tga
12         gfx/hud/inv_weapon13.tga
13         gfx/hud/inv_weapon14.tga
14         gfx/hud/inv_weapon1.tga
15         gfx/hud/inv_weapon2.tga
16         gfx/hud/inv_weapon3.tga
17         gfx/hud/inv_weapon4.tga
18         gfx/hud/inv_weapon5.tga
19         gfx/hud/inv_weapon6.tga
20         gfx/hud/inv_weapon7.tga
21         gfx/hud/inv_weapon8.tga
22         gfx/hud/inv_weapon9.tga
23         gfx/hud/inv_weapon_hlacmod_renameit.tga
24         gfx/hud/keys/key_backward_inv.tga
25         gfx/hud/keys/key_backward.tga
26         gfx/hud/keys/key_bg.tga
27         gfx/hud/keys/key_crouch_inv.tga
28         gfx/hud/keys/key_crouch.tga
29         gfx/hud/keys/key_forward_inv.tga
30         gfx/hud/keys/key_forward.tga
31         gfx/hud/keys/key_jump_inv.tga
32         gfx/hud/keys/key_jump.tga
33         gfx/hud/keys/key_left_inv.tga
34         gfx/hud/keys/key_left.tga
35         gfx/hud/keys/key_right_inv.tga
36         gfx/hud/keys/key_right.tga
37         gfx/hud/num_0_stroke.tga
38         gfx/hud/num_0.tga
39         gfx/hud/num_1_stroke.tga
40         gfx/hud/num_1.tga
41         gfx/hud/num_2_stroke.tga
42         gfx/hud/num_2.tga
43         gfx/hud/num_3_stroke.tga
44         gfx/hud/num_3.tga
45         gfx/hud/num_4_stroke.tga
46         gfx/hud/num_4.tga
47         gfx/hud/num_5_stroke.tga
48         gfx/hud/num_5.tga
49         gfx/hud/num_6_stroke.tga
50         gfx/hud/num_6.tga
51         gfx/hud/num_7_stroke.tga
52         gfx/hud/num_7.tga
53         gfx/hud/num_8_stroke.tga
54         gfx/hud/num_8.tga
55         gfx/hud/num_9_stroke.tga
56         gfx/hud/num_9.tga
57         gfx/hud/num_colon_stroke.tga
58         gfx/hud/num_colon.tga
59         gfx/hud/num_dot_stroke.tga
60         gfx/hud/num_dot.tga
61         gfx/hud/num_minus_stroke.tga
62         gfx/hud/num_minus.tga
63         gfx/hud/num_plus_stroke.tga
64         gfx/hud/num_plus.tga
65         gfx/hud/rifle_ring_1.tga
66         gfx/hud/rifle_ring_2.tga
67         gfx/hud/rifle_ring_3.tga
68         gfx/hud/rifle_ring_4.tga
69         gfx/hud/rifle_ring_5.tga
70         gfx/hud/rifle_ring_6.tga
71         gfx/hud/rifle_ring_7.tga
72         gfx/hud/rifle_ring_8.tga
73         gfx/hud/sb_accuracy.tga
74         gfx/hud/sb_ammobg.tga
75         gfx/hud/sb_armor.tga
76         gfx/hud/sbar.tga
77         gfx/hud/sb_bullets.tga
78         gfx/hud/sb_cells.tga
79         gfx/hud/sb_flag_blue_carrying.tga
80         gfx/hud/sb_flag_blue_lost.tga
81         gfx/hud/sb_flag_blue_shielded.tga
82         gfx/hud/sb_flag_blue_taken.tga
83         gfx/hud/sb_flag_red_carrying.tga
84         gfx/hud/sb_flag_red_lost.tga
85         gfx/hud/sb_flag_red_shielded.tga
86         gfx/hud/sb_flag_red_taken.tga
87         gfx/hud/sb_fuel.tga
88         gfx/hud/sb_health.tga
89         gfx/hud/sb_highlight_1.tga
90         gfx/hud/sb_highlight_2.tga
91         gfx/hud/sb_highlight_3.tga
92         gfx/hud/sb_highlight_4.tga
93         gfx/hud/sb_invinc.tga
94         gfx/hud/sb_kh_blue.tga
95         gfx/hud/sb_kh_pink.tga
96         gfx/hud/sb_kh_red.tga
97         gfx/hud/sb_kh_yellow.tga
98         gfx/hud/sb_nexball_carrying.tga
99         gfx/hud/sb_rocket.tga
100         gfx/hud/sb_scoreboard_bg.tga
101         gfx/hud/sb_scoreboard_tableheader.tga
102         gfx/hud/sb_shells.tga
103         gfx/hud/sb_str.tga
104         gfx/hud/sb_timerbg.tga
105         models/ctf/shield.md3
106         models/ctf/shockwavetransring.md3
107         models/gibs/arm.md3
108         models/gibs/arm.md3_0.skin
109         models/gibs/arm.md3_1.skin
110         models/gibs/arm.md3_2.skin
111         models/gibs/bloodyskull.md3
112         models/gibs/bloodyskull.md3_0.skin
113         models/gibs/bloodyskull.md3_1.skin
114         models/gibs/bloodyskull.md3_2.skin
115         models/gibs/chest.md3
116         models/gibs/chest.md3_0.skin
117         models/gibs/chest.md3_1.skin
118         models/gibs/chest.md3_2.skin
119         models/gibs/chunk.mdl
120         models/gibs/eye.md3
121         models/gibs/leg1.md3
122         models/gibs/leg1.md3_0.skin
123         models/gibs/leg1.md3_1.skin
124         models/gibs/leg1.md3_2.skin
125         models/gibs/leg2.md3
126         models/gibs/leg2.md3_0.skin
127         models/gibs/leg2.md3_1.skin
128         models/gibs/leg2.md3_2.skin
129         models/gibs/smallchest.md3
130         models/gibs/smallchest.md3_0.skin
131         models/gibs/smallchest.md3_1.skin
132         models/gibs/smallchest.md3_2.skin
133         models/nexball/ball.md3
134         models/onslaught/boom.md3
135         models/onslaught/controlpoint_icon_dmg1.md3
136         models/onslaught/controlpoint_icon_dmg2.md3
137         models/onslaught/controlpoint_icon_dmg3.md3
138         models/onslaught/controlpoint_icon_gib1.md3
139         models/onslaught/controlpoint_icon_gib2.md3
140         models/onslaught/controlpoint_icon_gib4.md3
141         models/onslaught/controlpoint_pad2.md3
142         models/onslaught/generator_dead.md3
143         models/onslaught/generator_dmg1.md3
144         models/onslaught/generator_dmg2.md3
145         models/onslaught/generator_dmg3.md3
146         models/onslaught/generator_dmg4.md3
147         models/onslaught/generator_dmg5.md3
148         models/onslaught/generator_dmg6.md3
149         models/onslaught/generator_dmg7.md3
150         models/onslaught/generator_dmg8.md3
151         models/onslaught/generator_dmg9.md3
152         models/onslaught/gen_gib1.md3
153         models/onslaught/gen_gib2.md3
154         models/onslaught/gen_gib3.md3
155         models/onslaught/ons_ray.md3
156         models/onslaught/shockwave.md3
157         models/onslaught/shockwavetransring.md3
158         models/sprites/as-defend_frame0.tga
159         models/sprites/as-destroy_frame0.tga
160         models/sprites/as-push_frame0.tga
161         models/sprites/bluebase_frame0.tga
162         models/sprites/bluebase.tga
163         models/sprites/danger_frame0.tga
164         models/sprites/danger.tga
165         models/sprites/defend.tga
166         models/sprites/destroy.tga
167         models/sprites/dom-blue_frame0.tga
168         models/sprites/dom-neut_frame0.tga
169         models/sprites/dom-pink_frame0.tga
170         models/sprites/dom-red_frame0.tga
171         models/sprites/dom-yellow_frame0.tga
172         models/sprites/flagcarrier_frame0.tga
173         models/sprites/flagcarrier.tga
174         models/sprites/helpme_frame0.tga
175         models/sprites/helpme.tga
176         models/sprites/here_frame0.tga
177         models/sprites/here.tga
178         models/sprites/item-extralife_frame0.tga
179         models/sprites/item-extralife_frame1.tga
180         models/sprites/item-fuelregen_frame0.tga
181         models/sprites/item-fuelregen_frame1.tga
182         models/sprites/item-invis_frame0.tga
183         models/sprites/item-invis_frame1.tga
184         models/sprites/item-jetpack_frame0.tga
185         models/sprites/item-jetpack_frame1.tga
186         models/sprites/item-shield_frame0.tga
187         models/sprites/item-shield_frame1.tga
188         models/sprites/item-speed_frame0.tga
189         models/sprites/item-speed_frame1.tga
190         models/sprites/item-strength_frame0.tga
191         models/sprites/item-strength_frame1.tga
192         models/sprites/keycarrier-blue_frame0.tga
193         models/sprites/keycarrier-blue.tga
194         models/sprites/keycarrier-finish_frame0.tga
195         models/sprites/keycarrier-finish.tga
196         models/sprites/keycarrier-friend_frame0.tga
197         models/sprites/keycarrier-friend.tga
198         models/sprites/keycarrier-pink_frame0.tga
199         models/sprites/keycarrier-pink.tga
200         models/sprites/keycarrier-red_frame0.tga
201         models/sprites/keycarrier-red.tga
202         models/sprites/keycarrier-yellow_frame0.tga
203         models/sprites/keycarrier-yellow.tga
204         models/sprites/key-dropped_frame0.tga
205         models/sprites/key-dropped.tga
206         models/sprites/nb-ball_frame0.tga
207         models/sprites/ons-cp-atck-blue_frame0.tga
208         models/sprites/ons-cp-atck-blue_frame1.tga
209         models/sprites/ons-cp-atck-neut_frame0.tga
210         models/sprites/ons-cp-atck-neut_frame1.tga
211         models/sprites/ons-cp-atck-red_frame0.tga
212         models/sprites/ons-cp-atck-red_frame1.tga
213         models/sprites/ons-cp-blue_frame0.tga
214         models/sprites/ons-cp-blue.tga
215         models/sprites/ons-cp-dfnd-blue_frame0.tga
216         models/sprites/ons-cp-dfnd-blue_frame1.tga
217         models/sprites/ons-cp-dfnd-red_frame0.tga
218         models/sprites/ons-cp-dfnd-red_frame1.tga
219         models/sprites/ons-cp-neut_frame0.tga
220         models/sprites/ons-cp-neut.tga
221         models/sprites/ons-cp-red_frame0.tga
222         models/sprites/ons-cp-red.tga
223         models/sprites/ons-gen-blue_frame0.tga
224         models/sprites/ons-gen-blue.tga
225         models/sprites/ons-gen-red_frame0.tga
226         models/sprites/ons-gen-red.tga
227         models/sprites/ons-gen-shielded_frame0.tga
228         models/sprites/ons-gen-shielded.tga
229         models/sprites/push.tga
230         models/sprites/race-checkpoint_frame0.tga
231         models/sprites/race-checkpoint.tga
232         models/sprites/race-finish_frame0.tga
233         models/sprites/race-finish.tga
234         models/sprites/race-start_frame0.tga
235         models/sprites/redbase_frame0.tga
236         models/sprites/redbase.tga
237         models/sprites/waypoint_frame0.tga
238         models/sprites/waypoint.tga
239         models/sprites/wpn-campingrifle_frame0.tga
240         models/sprites/wpn-crylink_frame0.tga
241         models/sprites/wpn-electro_frame0.tga
242         models/sprites/wpn-gl_frame0.tga
243         models/sprites/wpn-hagar_frame0.tga
244         models/sprites/wpn-hlac_frame0.tga
245         models/sprites/wpn-hookgun_frame0.tga
246         models/sprites/wpn-laser_frame0.tga
247         models/sprites/wpn-minstanex_frame0.tga
248         models/sprites/wpn-nex_frame0.tga
249         models/sprites/wpn-porto_frame0.tga
250         models/sprites/wpn-rl_frame0.tga
251         models/sprites/wpn-shotgun_frame0.tga
252         models/sprites/wpn-uzi_frame0.tga
253         models/weapons/g_tuba.md3
254         models/weapons/h_tuba.dpm
255         models/weapons/v_tuba.md3
256         particles/particlefont.tga
257         scripts/onslaught.shader
258         scripts/tuba.shader
259         sound/announcer/male/amazing.ogg
260         sound/announcer/male/awesome.ogg
261         sound/ctf/blue_capture.wav
262         sound/ctf/blue_dropped.wav
263         sound/ctf/blue_returned.wav
264         sound/ctf/blue_taken.wav
265         sound/ctf/flag_respawn.wav
266         sound/ctf/red_capture.wav
267         sound/ctf/red_dropped.wav
268         sound/ctf/red_returned.wav
269         sound/ctf/red_taken.wav
270         sound/misc/armor10.wav
271         sound/misc/armor17_5.wav
272         sound/misc/armor1.wav
273         sound/misc/armor25.wav
274         sound/misc/itemrespawncountdown.ogg
275         sound/misc/poweroff.wav
276         sound/misc/powerup.ogg
277         sound/misc/shield_respawn.wav
278         sound/misc/strength_respawn.wav
279         sound/nexball/bounce.ogg
280         sound/nexball/drop.ogg
281         sound/nexball/shoot1.wav
282         sound/nexball/shoot2.ogg
283         sound/nexball/steal.ogg
284         sound/onslaught/electricity_explode.ogg
285         sound/onslaught/ons_hit1.ogg
286         sound/onslaught/ons_hit2.ogg
287         sound/onslaught/ons_spark1.ogg
288         sound/onslaught/ons_spark2.ogg
289         sound/onslaught/shockwave.ogg
290         sound/player/pyria-skadi/coms/needhelp2.ogg
291         sound/weapons/nexwhoosh1.ogg
292         sound/weapons/nexwhoosh2.ogg
293         sound/weapons/nexwhoosh3.ogg
294         sound/weapons/tuba_note0.ogg
295         sound/weapons/tuba_note-10.ogg
296         sound/weapons/tuba_note10.ogg
297         sound/weapons/tuba_note-11.ogg
298         sound/weapons/tuba_note11.ogg
299         sound/weapons/tuba_note-12.ogg
300         sound/weapons/tuba_note12.ogg
301         sound/weapons/tuba_note-13.ogg
302         sound/weapons/tuba_note13.ogg
303         sound/weapons/tuba_note-14.ogg
304         sound/weapons/tuba_note14.ogg
305         sound/weapons/tuba_note-15.ogg
306         sound/weapons/tuba_note15.ogg
307         sound/weapons/tuba_note-16.ogg
308         sound/weapons/tuba_note16.ogg
309         sound/weapons/tuba_note-17.ogg
310         sound/weapons/tuba_note17.ogg
311         sound/weapons/tuba_note-18.ogg
312         sound/weapons/tuba_note18.ogg
313         sound/weapons/tuba_note19.ogg
314         sound/weapons/tuba_note-1.ogg
315         sound/weapons/tuba_note1.ogg
316         sound/weapons/tuba_note20.ogg
317         sound/weapons/tuba_note21.ogg
318         sound/weapons/tuba_note22.ogg
319         sound/weapons/tuba_note23.ogg
320         sound/weapons/tuba_note24.ogg
321         sound/weapons/tuba_note25.ogg
322         sound/weapons/tuba_note26.ogg
323         sound/weapons/tuba_note27.ogg
324         sound/weapons/tuba_note-2.ogg
325         sound/weapons/tuba_note2.ogg
326         sound/weapons/tuba_note-3.ogg
327         sound/weapons/tuba_note3.ogg
328         sound/weapons/tuba_note-4.ogg
329         sound/weapons/tuba_note4.ogg
330         sound/weapons/tuba_note-5.ogg
331         sound/weapons/tuba_note5.ogg
332         sound/weapons/tuba_note-6.ogg
333         sound/weapons/tuba_note6.ogg
334         sound/weapons/tuba_note-7.ogg
335         sound/weapons/tuba_note7.ogg
336         sound/weapons/tuba_note-8.ogg
337         sound/weapons/tuba_note8.ogg
338         sound/weapons/tuba_note-9.ogg
339         sound/weapons/tuba_note9.ogg
340         sound/weapons/unavailable.wav
341         sound/weapons/weaponpickup.ogg
342         textures/bloodyskull_alien_glow.tga
343         textures/bloodyskull_alien.tga
344         textures/bloodyskull.jpg
345         textures/bloodyskull_robot_gloss.tga
346         textures/bloodyskull_robot_glow.tga
347         textures/bloodyskull_robot.tga
348         textures/generator_destroyed.tga
349         textures/generator_lightning2.tga
350         textures/generator_lightning.tga
351         textures/generator.tga
352         textures/meat_alien_gloss.tga
353         textures/meat_alien_glow.tga
354         textures/meat_alien_norm.tga
355         textures/meat_alien.tga
356         textures/meat_gloss.tga
357         textures/meat_norm.tga
358         textures/meat_robot_gloss.tga
359         textures/meat_robot_glow.tga
360         textures/meat_robot_norm.tga
361         textures/meat_robot.tga
362         textures/meat.tga
363         textures/nexball/ball_gloss.tga
364         textures/nexball/ball_norm.tga
365         textures/nexball/ball.tga
366         textures/ons_boom1.tga
367         textures/ons_gengib.tga
368         textures/ons_icon.tga
369         textures/ons_icon_thrust.tga
370         textures/ons_pad.tga
371         textures/ons_ray.tga
372         textures/ons_shockwave1.tga
373         textures/ons_shockwave2.tga
374         textures/ons_smoke1.tga
375         textures/ons_text.tga
376         textures/tuba_gloss.tga
377         textures/tuba_glow.tga
378         textures/tuba.tga
379         sound/weapons/fireball_fire2.wav
380         sound/weapons/fireball_fire.wav
381         sound/weapons/fireball_fly2.wav
382         sound/weapons/fireball_fly.wav
383         sound/weapons/fireball_impact2.wav
384         sound/weapons/fireball_prefire2.wav
385         models/weapons/g_fireball.md3
386         models/weapons/h_fireball.dpm
387         models/weapons/h_fireball.dpm.framegroups
388         models/weapons/v_fireball.md3
389         textures/fireball_gloss.tga
390         textures/fireball_glow.tga
391         textures/fireball.tga
392         models/sphere/sphere.md3
393         models/sphere/sphere.tga
394         textures/nutsandbolts1_gloss.tga
395         textures/nutsandbolts1.tga
396         textures/nutsandbolts3_gloss.tga
397         textures/nutsandbolts3.tga
398         textures/nutsandbolts4_gloss.tga
399         textures/nutsandbolts4.tga
400         textures/nutsandbolts5_gloss.tga
401         textures/nutsandbolts5.tga
402         models/gibs/robo1.md3
403         models/gibs/robo1.md3_0.skin
404         models/gibs/robo1.md3_1.skin
405         models/gibs/robo2.md3
406         models/gibs/robo2.md3_0.skin
407         models/gibs/robo2.md3_1.skin
408         models/gibs/robo3.md3
409         models/gibs/robo3.md3_0.skin
410         models/gibs/robo3.md3_1.skin
411         models/gibs/robo4.md3
412         models/gibs/robo4.md3_0.skin
413         models/gibs/robo4.md3_1.skin
414         models/gibs/robo5.md3
415         models/gibs/robo6.md3
416         models/gibs/robo7.md3
417         models/gibs/robo7.md3_0.skin
418         models/gibs/robo7.md3_1.skin
419         models/gibs/robo8.md3
420         models/gibs/robo8.md3_0.skin
421         models/gibs/robo8.md3_1.skin
422         models/gibs/robo.md3
423         models/gibs/robo.md3_0.skin
424         models/gibs/robo.md3_1.skin
425 "
426
427 rm -rf pack
428 mkdir pack
429 for F in $COMPAT_FILES; do
430         case "$F" in
431                 */*)
432                         mkdir -p pack/${F%/*}
433                         ;;
434         esac
435         cp "$F" pack/"$F"
436 done
437
438 cd pack
439
440 find textures/ -type f -print0 | qual=85 scaledown=256x256 xargs -0 ../../misc/tools/jpeg-if-not-alpha.sh
441
442 if false; then
443         find . -name \*.ogg | while IFS= read -r NAME; do
444                 c=`vorbiscomment -l "$NAME"`
445                 oggdec -o "$NAME.wav" "$NAME"
446                 oggenc -q 0 -o "$NAME" "$NAME.wav"
447                 echo "$c" | vorbiscomment -w "$NAME"
448                 rm -f "$NAME.wav"
449                 touch "${NAME%.ogg}.wav" # to disable this file, should the client have it
450         done
451 fi
452
453 rev=`svnversion .. | sed 's/M$//g; s/.*://g;'`
454 pack="zzz_svn-compat-$rev"
455 echo "Support files to play on svn servers of revision $rev" > "$pack.txt"
456 7za a -tzip -mx=9 "../$pack.pk3" .
457 rm -f "$pack.txt"
458
459 cd ..
460 rm -rf pack