1use crate::chunk_discovery::ChunkDiscovery;
2
3#[derive(Debug, Clone, Copy, PartialEq, Eq)]
5pub enum WmoFileType {
6 Root,
8 Group,
10}
11
12pub fn detect_file_type(discovery: &ChunkDiscovery) -> WmoFileType {
14 let chunk_ids: Vec<&str> = discovery.chunks.iter().map(|c| c.id.as_str()).collect();
16
17 if chunk_ids.contains(&"MOHD") || chunk_ids.contains(&"MOMT") {
20 WmoFileType::Root
21 } else if chunk_ids.contains(&"MOGP") || (chunk_ids.len() > 1 && chunk_ids[1] == "MOGP") {
22 WmoFileType::Group
23 } else {
24 WmoFileType::Group
26 }
27}