use crate::prelude::*;
use crate::wad::deserialize::reader::DataReader;
use crate::wad::version::GMVersionReq;
pub fn check_2024_14(reader: &mut DataReader) -> Result<Option<GMVersionReq>> {
let audio_group_count = reader.read_u32()?;
if audio_group_count == 0 {
return Ok(None); }
let mut i: u32 = 0;
let mut position1: u32 = 0;
while position1 == 0 {
if i >= audio_group_count {
break;
}
position1 = reader.read_u32()?;
i += 1;
}
let mut position2: u32 = 0;
while position2 == 0 {
if i >= audio_group_count {
break;
}
position2 = reader.read_u32()?;
i += 1;
}
if position1 == 0 && position2 == 0 {
return Ok(None); }
if position2 == 0 {
reader.cur_pos = position1 + 4;
if reader.cur_pos + 4 > reader.chunk.end_pos {
return Ok(None); }
let path_pointer = reader.read_u32()?;
if path_pointer == 0 {
return Ok(None); }
} else {
if position2 - position1 == 4 {
return Ok(None); }
}
Ok(Some((2024, 14).into()))
}