SkillAgentSearch skills...

Qbsp

Rust crate for parsing, and operating with BSP files from various engines.

Install / Use

/learn @Noxmore/Qbsp
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

QBSP

crates.io docs.rs

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

Features

  • Parsing .bsp files with the BSP29 BSP2, BSP30 BSP38, and Qbism 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 for the RGBLIGHTING, LIGHTGRID_OCTREE, BRUSHLIST, DECOUPLED_LM, and FACENORMALS lumps.

Quickstart

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
  • BSP writing

Version support table

I wish these used whatever was in your project, but at the time of writing, wildcards make Cargo just choose the latest version rather what what is best for you.

| QBSP | bevy_reflect | glam | |-----------|--------------|------| | 0.13-0.14 | 0.18 | 0.30 |

View on GitHub
GitHub Stars8
CategoryDevelopment
Updated1mo ago
Forks4

Languages

Rust

Security Score

85/100

Audited on Mar 7, 2026

No findings