[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