pub struct Linedef { pub start_vertex: i16, pub end_vertex: i16, pub flags: i16, pub special_type: i16, pub sector_tag: i16, pub front_sidedef: i16, pub back_sidedef: i16, } impl Linedef { pub fn blocks_players(&self) -> bool { self.flags & (1 << 0) != 0 } pub fn blocks_monsters(&self) -> bool { self.flags & (1 << 1) != 0 } pub fn is_two_sided(&self) -> bool { self.flags & (1 << 2) != 0 } pub fn is_upper_unpegged(&self) -> bool { self.flags & (1 << 3) != 0 } pub fn is_lower_unpegged(&self) -> bool { self.flags & (1 << 4) != 0 } pub fn is_secret(&self) -> bool { self.flags & (1 << 5) != 0 } pub fn blocks_sound(&self) -> bool { self.flags & (1 << 6) != 0 } pub fn never_automap(&self) -> bool { self.flags & (1 << 7) != 0 } pub fn always_automap(&self) -> bool { self.flags & (1 << 8) != 0 } }