1 |
#!/bin/sh |
2 |
|
3 |
# quick hack to copy map names from crossire to deliantra maps |
4 |
|
5 |
SRC=/root/cvs/crossfire/maps |
6 |
DST=/root/src/deliantra/maps |
7 |
|
8 |
cd "$SRC" || exit 1 |
9 |
|
10 |
find . -name .svn -prune -o -type f -print | while read map; do |
11 |
[ -f "$DST"/"$map.map" ] || continue |
12 |
[ "$(head -1 "$map" 2>/dev/null)" = "arch map" ] || continue |
13 |
name=$(< "$map" head -2 | tail -1) |
14 |
case "$name" in "name "* ) ;; * ) continue ;; esac |
15 |
case "$name" in "name world"* ) continue ;; esac |
16 |
|
17 |
( |
18 |
<"$DST/$map.map" head -4 | grep -v "^name " |
19 |
echo $name |
20 |
<"$DST/$map.map" tail -n+4 |
21 |
) >"$DST/$map.map~" |
22 |
|
23 |
if cmp -s "$DST/$map.map~" "$DST/$map.map"; then |
24 |
rm "$DST/$map.map~" |
25 |
else |
26 |
echo $map $name |
27 |
mv "$DST/$map.map~" "$DST/$map.map" |
28 |
cfmap-normalize "$DST/$map.map" |
29 |
fi |
30 |
done |