[SCM] Packaging for original LIERO binary data branch, master, updated. upstream/1.33-24-gc6ae2cf

Martin Erik Werner martinerikwerner at gmail.com
Sat Jan 21 00:54:06 UTC 2012


The following commit has been merged in the master branch:
commit 409305c9e63152d43890661ca4fc78df7a643d93
Author: Martin Erik Werner <martinerikwerner at gmail.com>
Date:   Fri Jan 20 15:58:39 2012 +0100

    Working packsounds, boyah!

diff --git a/packsounds b/packsounds
index 82b23e2..708055d 100755
--- a/packsounds
+++ b/packsounds
@@ -24,6 +24,8 @@ offsetoffset=8
 offsetsize=4
 sizeoffset=12
 sizesize=4
+indexsize=482
+names="SHOTGUN SHOT RIFLE BAZOOKA BLASTER THROW LARPA EXP3A EXP3B EXP2 EXP3 EXP4 EXP5 DIRT BUMP DEATH1 DEATH2 DEATH3 HURT1 HURT2 HURT3 ALIVE BEGIN DROPSHEL RELOADED MOVEUP MOVEDOWN SELECT BOING BURNER"
 
 # Output file:
 # header
@@ -36,65 +38,82 @@ function pad {
 # Write $1 NULL bytes to file
 	pad="$1"
 	p=0
+
 	until [ $p = $pad ]; do
-		printf "\x$i" >> $sndfile
-		p=$(expr $s + 1)
+		printf "\x00" >> $sndfile
+		p=$(expr $p + 1)
 	done
 }
 
 function writedec {
 # write decimal number $1 to file, and pad to $2 bytes
 	dec="$1"
-	size="$2"
+	decsize="$2"
 	hex="$(printf '%x\n' $1)"
-	s=0
+	d=0
 
-	for i in "$(echo "$hex" | rev | fold -b 2 | rev)"; do
-		printf "\x$i" >> $sndfile
-		s=$(expr $s + 1)
+	for h in $(echo "$hex" | rev | fold -b2 | rev); do
+		printf "\x$h" >> $sndfile
+		export d=$(expr $d + 1)
 	done
 
-	if [ $size ]; then
-		pad $(($size - $s))
+	if [ $decsize ]; then
+		pad $(($decsize - $d))
 	fi
 }
 
 function writeheader {
-	writedec 30 2
+	writedec $sounds $headersize
 }
 
-function writestring {
+function writestring () {
 # Write string $1 to file, padding to $2 bytes
 	name="$1"
-	size="$2"
+	stringsize="$2"
 	s=0
 
-	for i in $(echo $name | fold -b 1); do
-		dec=$(printf "%d\n" \'$i)
+	for c in $(echo $name | fold -b1); do
+		dec=$(printf "%d\n" \'$c)
 		writedec $dec
-		s=$(expr $s + 1)
+		export s=$(expr $s + 1)
 	done
-
-	if [ $size ]; then
-		pad $(($size - $s))
+	if [ $stringsize ]; then
+		pad $(($stringsize - $s))
 	fi
 }
 
+# Main
+
+echo -n "" > $sndfile
+writeheader
+i=0
+dataoffset="$indexsize"
+datasize=0
+for n in $names; do
+	name="$n"
+	file="$n.wav"
+	entryoffset="$(($i * $entrysize + $headersize))"
+	dataoffset="$(($dataoffset + datasize))"
+	#dataoffset="$(dd if=$sndfile 2>&1 ibs=1 skip=$indexsize | \
+	#	sed -n 's/\([0-9]*\)\ bytes\ .*/\1/p')"
+	datasize="$(sox -t wav "$file" \
+		-t raw -b 8 -e signed-integer -r 22050 -B -c 1 - | \
+		dd 2>&1 | sed -n 's/\([0-9]*\)\ bytes\ .*/\1/p')"
+
+	writestring $name $namesize
+	writedec $dataoffset $offsetsize
+	writedec $datasize $sizesize
+	#sox -t wav "$file" -t raw -b 8 -e signed-integer -r 22050 -B -c 1 - \
+	#	>> $sndfile
+	#sox -t wav "$file" -t raw -b 8 -e signed-integer -r 22050 -B -c 1 - | \
+	#	dd 2>&- obs=1 seek=$offset of=$file
+	i=$(expr $i + 1)
+done
 
-# For each entry
-for i in $(seq 0 $(($sounds - 1))); do
-	name="$(dd if=$sndfile ibs=1 \
-		skip=$(($i * $entrysize + $(($headersize + $nameoffset)))) \
-		count=$namesize 2>/dev/null | tr -d ' ')"
-
-	offset="$((0x$(dd if=$sndfile ibs=1 \
-		skip=$(($i * $entrysize + $(($headersize + $offsetoffset)))) \
-		count=$offsetsize 2>/dev/null | od -A n -t x4 | tr -d ' ')))"
-
-	size="$((0x$(dd if=$sndfile ibs=1 \
-		skip=$(($i * $entrysize + $(($headersize + $sizeoffset)))) \
-		count=$sizesize 2>/dev/null | od -A n -t x4 | tr -d ' ')))"
+for n in $names; do
+	file="$n.wav"
 
-	dd if=$sndfile ibs=1 skip=$offset count=$size 2>/dev/null | \
-		sox -t raw -b 8 -e signed-integer -r 22050 -B -c 1 - -t wav $name.wav
+	sox -t wav "$file" -t raw -b 8 -e signed-integer -r 22050 -B -c 1 - \
+		>> $sndfile
 done
+

-- 
Packaging for original LIERO binary data



More information about the Pkg-games-commits mailing list