All pastes #296419 Raw Edit

Mine

public text v1 · immutable
#296419 ·published 2006-12-30 04:48 UTC
rendered paste body
#!/usr/bin/perl -w
#
# Quick hack to convert world rotation formats
# by Tim@Rikers.org
# 1.7e2 and earlier use radians
# 1.7e3 and later use degrees
# script converts either way by looking to see
# if all values are < or > 2 * pi
# usage: ./bzwcvt.pl < hix.bzw > hixr.bzw
$pi = 3.14159265358979;
@bzw = "lalabala\nrotation 4 3 2\nrotation 1 2 3\nrofl.copter!";
@rotations = grep( /^rotation/ , @bzw ) ;
$max = 0 ;
foreach ( @rotations ) {
  ( undef, $rotation ) = split /  */ ;
  $max = $rotation if ( $max < $rotation ) ;
}
chomp( $max );
print STDERR "max rotation is $max, converting " ;
if ( $max > 2 * $pi ) {
  print STDERR "degrees to radians\n" ;
} else {
  print STDERR "radians to degrees\n" ;
}
foreach ( @bzw ) {
  if ( /^rotation/ ) {
    ( undef, $rotation ) = split /  */ ;
    print "rotation " ;
    if ( $max > 2 * $pi ) {
      print $rotation / 180 * $pi;
    } else {
      print sprintf("%.1f", $rotation * 180 / $pi );
    }
    print "\n";
  } else {
    print "$_";
  }
}

# Local Variables: ***
# mode:Perl ***
# tab-width: 8 ***
# c-basic-offset: 2 ***
# indent-tabs-mode: t ***
# End: ***
# ex: shiftwidth=2 tabstop=8