diff options
| author | epoch <epoch@hacking.allowed.org> | 2019-02-06 04:52:59 -0600 | 
|---|---|---|
| committer | epoch <epoch@hacking.allowed.org> | 2019-02-06 04:52:59 -0600 | 
| commit | 30bfb25dceedcc0ad84b06194856edb28297ba83 (patch) | |
| tree | 3be2d23c124b02ac6ff410cba8d66e4306569127 | |
| parent | bf16b7b8593d4013adbd03838af5a2fb3bce34ee (diff) | |
| download | hackvr-30bfb25dceedcc0ad84b06194856edb28297ba83.tar.gz hackvr-30bfb25dceedcc0ad84b06194856edb28297ba83.zip | |
added elevation choice and a default camera rotation for chess example
| -rwxr-xr-x | share/hackvr/examples/chess/board.sh | 28 | ||||
| -rwxr-xr-x | share/hackvr/examples/chess/gnuchess-to-hackvr.sh | 5 | ||||
| -rwxr-xr-x | share/hackvr/examples/chess/run | 3 | 
3 files changed, 26 insertions, 10 deletions
| diff --git a/share/hackvr/examples/chess/board.sh b/share/hackvr/examples/chess/board.sh index f574065..96b1b85 100755 --- a/share/hackvr/examples/chess/board.sh +++ b/share/hackvr/examples/chess/board.sh @@ -1,16 +1,29 @@  #!/bin/bash +e=$1 #elevation of board  width=8  height=8  cols="a b c d e f g h" +printf "junk set camera.r.x -45\n" +  for x in $(seq 1 $width);do   for y in $(seq 1 $height);do    color=$[((($y % 2) + ($x % 2))%2)+16]  ### board is on the wall. draw in x and y. -#  printf "%s%s addshape %s 4 %s %s 0 %s %s 0 %s %s 0 %s %s 0\n" $(printf "%s\n" "$cols" | cut '-d ' -f$x) $y $color $x $y $[x+1] $y $[x+1] $[y+1] $x $[y+1] +#  printf "%s%s addshape %s 4 %s %s %s %s %s %s %s %s %s %s %s %s\n" \ +#     $(printf "%s\n" "$cols" | cut '-d ' -f$x) $y $color \ +#     $x     $y $e \ +#     $[x+1] $y $e \ +#     $[x+1] $[y+1] $e \ +#     $x     $[y+1] $e  ### board is on floor. draw in x and z. -  printf "%s%s addshape %s 4 %s 0 %s %s 0 %s %s 0 %s %s 0 %s\n" $(printf "%s\n" "$cols" | cut '-d ' -f$x) $y $color $x $y $[x+1] $y $[x+1] $[y+1] $x $[y+1] +  printf "%s%s addshape %s 4 %s %s %s %s %s %s %s %s %s %s %s %s\n" \ +      $(printf "%s\n" "$cols" | cut '-d ' -f$x) $y $color \ +      $x     $e $y \ +      $[x+1] $e $y \ +      $[x+1] $e $[y+1] \ +      $x     $e $[y+1]   done  done @@ -25,16 +38,17 @@ for x in $(seq $width);do    locat="$(printf "%s\n" "$cols" | cut '-d ' "-f$x")$y"    cat "./pieces/pawn" | sed 's/^[^ ][^ ]* addshape [0-9][0-9]* /piece_'"${locat}"' addshape '"$(printf "%s\n" "$color" | cut '-d ' "-f$y")"' /g'  ### board is on wall. use x and y. -#  printf "piece_%s move %s %s 0\n" "$locat" "$x" "$y" +#  printf "piece_%s move %s %s %s\n" "$locat" "$x" "$y" "$e"  ### board is on floor. use x and z. -  printf "piece_%s move %s 0 %s\n" "$locat" "$x" "$y" +  printf "piece_%s move %s %s %s\n" "$locat" "$x" "$e" "$y"   done   for y in 1 8;do    locat="$(printf "%s\n" "$cols" | cut '-d ' "-f$x")$y" -  cat "./pieces/$(printf "%s\n" "$row1" | cut '-d ' "-f$x")" | sed 's/^[^ ][^ ]* addshape [0-9][0-9]* /piece_'"${locat}"' addshape '"$(printf "%s\n" "$color" | cut '-d ' "-f$y")"' /g' +  cat "./pieces/$(printf "%s\n" "$row1" | cut '-d ' "-f$x")" \ +    | sed 's/^[^ ][^ ]* addshape [0-9][0-9]* /piece_'"${locat}"' addshape '"$(printf "%s\n" "$color" | cut '-d ' "-f$y")"' /g'  ### board is on wall. use x and y. -#  printf "piece_%s move %s %s 0\n" "$locat" "$x" "$y" +#  printf "piece_%s move %s %s %s\n" "$locat" "$x" "$y" "$e"  ### board is on floor. use x and z. -  printf "piece_%s move %s 0 %s\n" "$locat" "$x" "$y" +  printf "piece_%s move %s %s %s\n" "$locat" "$x" "$e" "$y"   done  done diff --git a/share/hackvr/examples/chess/gnuchess-to-hackvr.sh b/share/hackvr/examples/chess/gnuchess-to-hackvr.sh index 0b94a87..841389b 100755 --- a/share/hackvr/examples/chess/gnuchess-to-hackvr.sh +++ b/share/hackvr/examples/chess/gnuchess-to-hackvr.sh @@ -1,4 +1,5 @@  #!/bin/sh +e=$1  tee /dev/stderr | while read first second third;do    if [ "_$first" = "_feature" ];then      printf "# just gnuchess saying what features it has: %s %s %s\n" "$first" "$second" "$third" >&2 @@ -17,9 +18,9 @@ tee /dev/stderr | while read first second third;do        y=$(printf "%s\n" "$to" | fold -w1 | tail -n1)        magic=$(printf "%s\n" "$move" | fold -w1 | tail -n+5 | tr -d '\n')  ### if the board is on the wall we need to use x and y -#    printf "piece_%s move %s %s 0\n" "$from" "$x" "$y" | tee /dev/stderr +#    printf "piece_%s move %s %s %s\n" "$from" "$x" "$y" "$e" | tee /dev/stderr  ### the board is on the floor atm. use x and z -    printf "piece_%s move %s 0 %s\n" "$from" "$x" "$y" | tee /dev/stderr +    printf "piece_%s move %s %s %s\n" "$from" "$x" "$e" "$y" | tee /dev/stderr      printf "#delete the old piece_%s group\n"      printf "epoch deletegroup piece_%s\n" "$to" diff --git a/share/hackvr/examples/chess/run b/share/hackvr/examples/chess/run index 4f0cdce..5a0941b 100755 --- a/share/hackvr/examples/chess/run +++ b/share/hackvr/examples/chess/run @@ -1,4 +1,5 @@  #!/bin/bash +export elevation=0  mknod p p -stdbuf -oL cat camera.pos <(./board.sh) <(cat p | ./gnuchess-to-hackvr.sh) | hackvr "$USER" | ./hackvr-to-gnuchess.sh | gnuchess -x > p +stdbuf -oL cat camera.pos <(./board.sh $elevation) <(cat p | ./gnuchess-to-hackvr.sh $elevation) | hackvr "$USER" | ./hackvr-to-gnuchess.sh | gnuchess -x > p  rm p | 
