3 allidentifiers=`grep "^ _VOICEMSG" qcsrc/server/defs.qh | sed "s/.*(//; s/).*//;"`
\r
5 allsounds=`find sound -name .svn -prune -o \( -name \*.ogg -o -name \*.wav \) -print`
\r
6 for S in $allsounds; do
\r
9 if [ -f "sound/$SND.ogg" ] && [ -f "sound/$SND.wav" ]; then
\r
10 echo "$SND exists twice"
\r
14 # verified by .sounds file check
\r
17 # maps can use them always
\r
20 # maps can use them always
\r
23 # maps can use them always
\r
27 misc/metalfootstep*)
\r
31 misc/metalhitground*)
\r
33 misc/talk*) # engine
\r
36 if ! grep -Er '"'$SND'\.(ogg|wav)"' qcsrc/server >/dev/null; then
\r
37 echo "$S ($SND) is unused by the code"
\r
45 allsounds="$LF`find sound/player -mindepth 2 -name .svn -prune -o \( -name \*.ogg -o -name \*.wav \) -print`$LF"
\r
46 remainingsounds=$allsounds
\r
51 case "$allsounds" in
\r
53 case "$remainingsounds" in
\r
55 remainingsounds=${remainingsounds%%$pat*}$LF${remainingsounds#*$pat}
\r
68 psoundfile "$s.ogg" || psoundfile "$s.wav"
\r
73 if psoundtry "$s"; then
\r
76 echo "$S references nonexisting sound $s"
\r
80 for S in models/player/*.sounds sound/player/default.sounds; do
\r
81 if [ "$S" = "sound/player/default.sounds" ] || [ -f "${S#.sounds}" ]; then
\r
84 while read -r TITLE SOUND COUNT; do
\r
89 identifiers_seen="$identifiers_seen ${TITLE#//}"
\r
90 for X in $allidentifiers; do
\r
91 if [ "$X" = "${TITLE#//}" ]; then
\r
99 if psoundtry "$SOUND"; then
\r
104 for i in `seq 1 $COUNT`; do
\r
105 if psoundtry "$SOUND$i"; then
\r
112 echo "$S references existing sound $SOUND but commented out"
\r
114 echo "$S does not have a sound for ${TITLE#//} yet"
\r
119 identifiers_seen="$identifiers_seen $TITLE"
\r
125 for i in `seq 1 $COUNT`; do
\r
136 for X in $identifiers_seen; do
\r
140 for X in $allidentifiers; do
\r
147 for X in $identifiers_seen; do
\r
150 for X in $allidentifiers; do
\r
156 [ -z "$invalid" ] || echo "$S specifies invalid sound identifiers `echo $invalid`"
\r
157 [ -z "$missing" ] || echo "$S lacks sound identifiers `echo $missing`"
\r
160 echo "$S exists for nonexisting player model"
\r
163 for S in $remainingsounds; do
\r
164 echo "$S is not used by any player model"
\r
168 for S in models/player/*.sounds; do echo -n `head -n 1 "$S"`" "; md5sum "$S"; done | sort
\r