anchor.diff:    StageXL.Vector downRightDirection;
   
     DirectionSystem() {
  -    upLeftDirection = upDirection.rotate(-90 * (math.PI / 180));
  -    upRightDirection = upDirection.rotate(90 * (math.PI / 180));
  -
  -    downLeftDirection = downDirection.rotate(90 * (math.PI / 180));
  -    downRightDirection = downDirection.rotate(-90 * (math.PI / 180));
  +    upLeftDirection = upDirection.rotate(_makeRadians(-45));
  +    upRightDirection = upDirection.rotate(_makeRadians(45));
  +    
  +    downLeftDirection = downDirection.rotate(_makeRadians(45));
  +    downRightDirection = downDirection.rotate(_makeRadians(-45));
     }
   
     /**
  -   * Add a direction to the main direction vector.
  +   * Add a direction to the main direction.
  +   * 
  +   * The method add another direction vector to the main direction and
  +   * it will scale down the main direction if the main direction vector's langth is bigger then 1.
  +   * In another world the main direction will stay as an unit vector.
      *
  -   * Direction can be: up/forward, down/backward, left, right
  +   * Direction can be: up/forward, down/backward, left, right, upleft, upright, downleft, downright
      */
     void addToMainDirection(String direction) {
   
  
positive.code:   }
  
    /**
     * Rotate direction vectors(main, up, down, left, right) in angles.
     */
    void rotateDirectionsAngles(num angles) {
      rotateDirectionsRadians(angles * (math.PI / 180));
    }
  }
  
negative.code:   /**
     * Sets the main direction vector.
     * 
     * Direction can be: up/forward, down/backward, left, right, upleft, upright, downleft, downright
     */
    void setMainDirection(String direction) {
      switch (direction) {
  