qbsp

Crates.ioqbsp
lib.rsqbsp
version0.5.0
sourcesrc
created_at2025-02-05 23:23:49.626888+00
updated_at2025-05-15 20:59:25.326082+00
descriptionRust crate for parsing and operating with Quake 1 BSP files
homepage
repositoryhttps://github.com/Noxmore/qbsp
max_upload_size
id1544865
size109,398
noxmore (Noxmore)

documentation

README

QBSP

crates.io docs.rs

Rust crate for parsing, and operating with Quake 1 BSP files.

Features

  • Parsing .bsp files with the BSP29 and BSP2 formats.
  • Structured easy access to the bsp data.
  • BSP raycasting.
  • Mesh generation.
  • Lightmap atlas generation either per-style or per-slot (.lit supported).
  • BSPX support, including built-in structures/support for the RGBLIGHTING, LIGHTGRID_OCTREE, BRUSHLIST, and DECOUPLED_LM lumps.

How to use

use qbsp::prelude::*;

let _ = BspData::parse(BspParseInput {
    bsp: &[], // Data of the bsp file.
    lit: None, // Optional lit file for colored lighting if no `RGBLIGHTING` BSPX lump is present.
    settings: BspParseSettings::default(),
});

Feature wishlist

I might work on these at a later date, but if anyone wants to help out or just give some ideas, they're more than welcome to!

  • More flexible meshing API
  • PVS data support
  • BSP writing
Commit count: 0

cargo fmt