BSP → MAP / LOCAL & PRIVATE

BSP Forge

Recover editable brushwork, entities, and texture alignment from compiled Quake-family maps. Nothing is uploaded.

BSP28BSP29Quake 64BSP2BSP2-RMQHalf-LifeHexen IIQ2 BSP38QBSPBSPX BRUSHLIST

01 / INPUT

Compiled map

02 / RECOVERY

Decompiler settings

Uses exact stored brush planes when a BRUSHLIST is present.

03 / OUTPUT

Your recovered map appears here

Load a BSP to inspect its format, reconstruct convex brushwork, and export editor-ready Valve 220 map source.

METHOD / TRANSPARENCY

What can—and cannot—be recovered

01

Prefer original planes

BSPX BRUSHLIST stores source brush bounds and non-axial planes. When present, BSP Forge uses them before attempting inference.

02

Rebuild convex leaves

For classic BSPs, decision-tree planes are walked into bounded convex volumes, redundant planes are removed, and texture boundaries are split.

03

Preserve what survives

Entities, submodel origins, face textures, and Valve 220 alignment are retained. Original CSG ordering and brushes erased by compilation cannot be known.

COMPARED WITH BSPUTIL

What BSP Forge adds

Built on the same hard-won understanding of Quake BSPs, with a new recovery path and a browser-native workflow.

01

GEOMETRY

BSPX source-brush recovery

Reads FTE/ericw BRUSHLIST version 1 and reconstructs its stored bounds and non-axial planes. The current ericw decompile path marks BSPX brush use as a TODO.

02

DECISIONS

Per-model recovery fallback

Automatically prefers BSPX where available, uses exact Quake II brush lumps, and falls back to BSP-tree reconstruction for models without stored source brushes.

03

INSPECTION

Visual and forensic feedback

Shows the detected container, chosen geometry path, exact-brush count, output statistics, warnings, and an interactive top-down preview before download.

04

SAFETY

Untrusted-file guardrails

Checks lump ranges and geometry references, limits traversal depth and cycles, caps preview work, and isolates CPU-heavy recovery in a cancellable Web Worker.

05

CONTROL

Interactive recovery policy

Switch geometry source, hull, texture recovery, boundary splitting, numeric precision, and forensic comments without learning command-line flags.

06

DELIVERY

Zero-install, local web app

Runs as a static GitHub Pages tool, keeps BSP data inside the browser, and produces editor-ready MAP downloads on desktop or mobile.

07

EDITOR FIDELITY

TrenchBroom-native output

Writes deterministic game/format headers, uses stable points from recovered face windings, removes clipped sides, and repairs invalid compiled texture axes.

08

ENGINE COMPATIBILITY

QSS-M and FTE edge cases

Recognizes prerelease BSP28 and Quake 64 BSPs, reports misaligned lumps, and repairs the swapped entity/plane directory found in some Blue Shift BSP30 maps.

Not a claim that bsputil is obsolete: its native implementation is mature, fast, scriptable, and remains the reference for BSP manipulation. BSP Forge focuses on BSPX-aware recovery, inspection, accessibility, and safe browser use.