Parse Quake .bsp files
let file = &mut fs::File::open("tests/files/povdmm4.bsp")?;let bsp = BspFile::parse(file)?;println!("{:?}", bsp.entities);[
{
"wad": "gfx/base.wad", "worldtype": "2", "sounds": "6", "message": "The Abandoned Base", "classname": "worldspawn"
},
{
"classname": "light_fluoro",
"origin": "264 -32 88"
}
// ...
]pubstructBspFile{pubversion:BspVersion,pubheader:BspHeader,pubedge_list:Vec<i32>,pubedges:Vec<Edge>,pubentities:Vec<HashMap<String,String>>,pubfaces:Vec<Face>,publightmaps:Vec<u8>,pubmodels:Vec<Model>,pubplanes:Vec<Plane>,pubtexture_info:Vec<TextureInfo>,pubtextures:Vec<Texture>,pubvertices:Vec<Vertex>,}pubfnget_face_texture(bsp:&BspFile,face:&Face) -> Texturepubfnget_face_vertices(bsp:&BspFile,face:&Face) -> Vec<Vertex>pubfnget_face_vertice_indexes(bsp:&BspFile,face:&Face) -> Vec<u32>pubfnread_texture_image<R>(reader:&mutR,texture:&Texture,scale:TextureScale,) -> Result<TextureImage>