BSPX: Difference between revisions
Jump to navigation
Jump to search
SirYodaJedi (talk | contribs) m (→Lumps) |
SirYodaJedi (talk | contribs) m (Not dead end anymore) |
||
Line 1: | Line 1: | ||
{{ | {{uncategorized}}{{stub}} | ||
'''BSPX''' is a standard for adding new lumps to {{Idtech2|4.1}}, {{idtech3|4.1}} and {{goldsrc|4.1}} [[BSP]] files, which are used to add additional features to be used by source ports or [[custom renderer]]s without breaking vanilla compatibility. As BSPX lumps are placed at the end of the BSP file, they are not loaded by vanilla engines, so a BSP with BSPX lumps is backwards compatible. | '''BSPX''' is a standard for adding new lumps to {{Idtech2|4.1}}, {{idtech3|4.1}}, and {{goldsrc|4.1}} [[BSP]] files, which are used to add additional features to be used by source ports or [[custom renderer]]s without breaking vanilla compatibility. As BSPX lumps are placed at the end of the BSP file, they are not loaded by vanilla engines, so a BSP with BSPX lumps is backwards compatible. | ||
== Structure == | == Structure == | ||
<source lang=c> | <source lang=c> |
Revision as of 18:47, 15 May 2024

BSPX is a standard for adding new lumps to id Tech 2,
id Tech 3, and
GoldSrc BSP files, which are used to add additional features to be used by source ports or custom renderers without breaking vanilla compatibility. As BSPX lumps are placed at the end of the BSP file, they are not loaded by vanilla engines, so a BSP with BSPX lumps is backwards compatible.
Structure
typedef struct {
char lumpname[24]; // up to 23 chars, zero-padded
int fileofs; // from file start
int filelen;
} bspx_lump_t;
typedef struct {
char id[4]; // 'BSPX'
int numlumps;
bspx_lump_t lumps[1];
} bspx_header_t;
Lumps
Todo: other lumps; see FTE and Ericw-tools source codes
Lump name | Use case | Notes |
---|---|---|
DECOUPLED_LM | "Decouple" lightmap scale and UVs from texels | Used by ![]() |
LIGHTING_E5BGR9 | HDR lightmaps | Functions similarly to the RGBE8 lightmaps in ![]() |
External links
- BSPX spec in
repo