void roll(float dir) {
        if (dir != 0) {
            //turning
            roll += dir;
            if (roll > ROLL_STEPS)
                roll = ROLL_STEPS;
            if (roll < -ROLL_STEPS)
                roll = -ROLL_STEPS;
        } else {
            //roll level
            if (roll > 1) {
                roll--;
            } else if (roll < -1) {
                roll++;
            } else {
                roll = 0;
            }
        }
    }