pub struct LayerParamOptions {
    pub first_layer: bool,
}

pub fn parse_layer_param(number: Option<u16>, options: LayerParamOptions) -> u16 {
    let default_layer = if options.first_layer { 270 } else { 269 };
    let num;
    if number.is_none() {
        num = default_layer;
    } else if number.unwrap() < 0 || number.unwrap() > 326 {
        num = default_layer;
    } else {
        num = number.unwrap()
    }

    num
}

pub fn parse_frameskip_param(number: Option<u8>) -> u8 {
    let num = number;
    if num.is_none() {
        return 1;
    } else if num.unwrap() < 1 || num.unwrap() > 10 {
        return 1;
    }

    number.unwrap()
}

pub fn parse_aspect_ratio_param(number: Option<u8>) -> u8 {
    let num = number;
    if num.is_none() {
        return 0;
    } else if num.unwrap() != 0 && num.unwrap() != 16 && num.unwrap() != 48 && num.unwrap() != 64 {
        return 0;
    }

    num.unwrap()
}
