SourcePP
Several modern C++20 libraries for sanely parsing Valve's formats.
Loading...
Searching...
No Matches
bsppp Namespace Reference

Classes

class  BSP
 
struct  BSPBrushModel_v0
 
struct  BSPEdge_v0
 
struct  BSPEdge_v1
 
class  BSPEntityKeyValues
 
struct  BSPFace_v1
 
struct  BSPFace_v2
 
struct  BSPGameLump
 
struct  BSPNode_v0
 
struct  BSPNode_v1
 
struct  BSPPlane_v0
 
struct  BSPSurfEdge_v0
 
struct  BSPTextureData_v0
 
struct  BSPTextureInfo_v0
 
struct  BSPVertex_v0
 
class  PakLump
 Utility class for vpkpp integration - you need to include this header in a C++ file somewhere in your executable for automatic registration to work! Thanks C++. More...
 

Concepts

concept  BSPEntityKeyValueType
 

Typedefs

using BSPPlane = BSPPlane_v0
 
using BSPTextureData = BSPTextureData_v0
 
using BSPVertex = BSPVertex_v0
 
using BSPNode = BSPNode_v1
 
using BSPTextureInfo = BSPTextureInfo_v0
 
using BSPFace = BSPFace_v2
 
using BSPEdge = BSPEdge_v1
 
using BSPSurfEdge = BSPSurfEdge_v0
 
using BSPBrushModel = BSPBrushModel_v0
 

Enumerations

enum class  BSPLump : int32_t {
  UNKNOWN = -1 , ENTITIES = 0 , PLANES , TEXDATA ,
  VERTEXES , VISIBILITY , NODES , TEXINFO ,
  FACES , LIGHTING , OCCLUSION , LEAFS ,
  FACEIDS , EDGES , SURFEDGES , MODELS ,
  WORLDLIGHTS , LEAFFACES , LEAFBRUSHES , BRUSHES ,
  BRUSHSIDES , AREAS , AREAPORTALS , S2004_PORTALS ,
  UNUSED0 = S2004_PORTALS , SL4D2_PROPCOLLISION = S2004_PORTALS , S2004_CLUSTERS , UNUSED1 = S2004_CLUSTERS ,
  SL4D2_PROPHULLS = S2004_CLUSTERS , S2004_PORTALVERTS , UNUSED2 = S2004_PORTALVERTS , SL4D2_PROPHULLVERTS = S2004_PORTALVERTS ,
  S2004_CLUSTERPORTALS , UNUSED3 = S2004_CLUSTERPORTALS , SL4D2_PROPTRIS = S2004_CLUSTERPORTALS , DISPINFO ,
  ORIGINALFACES , PHYSDISP , PHYSCOLLIDE , VERTNORMALS ,
  VERTNORMALINDICES , S2004_DISP_LIGHTMAP_ALPHAS , UNUSED4 = S2004_DISP_LIGHTMAP_ALPHAS , DISP_VERTS ,
  DISP_LIGHTMAP_SAMPLE_POSITIONS , GAME_LUMP , LEAFWATERDATA , PRIMITIVES ,
  PRIMVERTS , PRIMINDICES , PAKFILE , CLIPPORTALVERTS ,
  CUBEMAPS , TEXDATA_STRING_DATA , TEXDATA_STRING_TABLE , OVERLAYS ,
  LEAFMINDISTTOWATER , FACE_MACRO_TEXTURE_INFO , DISP_TRIS , S2004_PHYSCOLLIDESURFACE ,
  UNUSED5 = S2004_PHYSCOLLIDESURFACE , SL4D2_PROP_BLOB = S2004_PHYSCOLLIDESURFACE , WATEROVERLAYS , S2006_XBOX_LIGHTMAPPAGES ,
  LEAF_AMBIENT_INDEX_HDR = S2006_XBOX_LIGHTMAPPAGES , S2006_XBOX_LIGHTMAPPAGEINFOS , LEAF_AMBIENT_INDEX = S2006_XBOX_LIGHTMAPPAGEINFOS , LIGHTING_HDR ,
  WORLDLIGHTS_HDR , LEAF_AMBIENT_LIGHTING_HDR , LEAF_AMBIENT_LIGHTING , XBOX_XZIPPAKFILE ,
  FACES_HDR , MAP_FLAGS , OVERLAY_FADES , L4D_OVERLAY_SYSTEM_LEVELS ,
  UNUSED6 = L4D_OVERLAY_SYSTEM_LEVELS , L4D2_PHYSLEVEL , UNUSED7 = L4D2_PHYSLEVEL , ASW_DISP_MULTIBLEND ,
  UNUSED8 = ASW_DISP_MULTIBLEND , COUNT
}
 

Variables

constexpr auto BSP_SIGNATURE = sourcepp::parser::binary::makeFourCC("VBSP")
 
constexpr auto BSP_CONSOLE_SIGNATURE = sourcepp::parser::binary::makeFourCC("PSBV")
 
constexpr int32_t BSP_LUMP_COUNT = 64
 
constexpr std::array< uint32_t, 64 > BSP_LUMP_ORDER
 Pulled from Portal 2, map e1912.
 
constexpr std::string_view BSP_EXTENSION = ".bsp"
 

Typedef Documentation

◆ BSPBrushModel

Definition at line 237 of file LumpData.h.

◆ BSPEdge

using bsppp::BSPEdge = typedef BSPEdge_v1

Definition at line 212 of file LumpData.h.

◆ BSPFace

using bsppp::BSPFace = typedef BSPFace_v2

Definition at line 189 of file LumpData.h.

◆ BSPNode

using bsppp::BSPNode = typedef BSPNode_v1

Definition at line 93 of file LumpData.h.

◆ BSPPlane

using bsppp::BSPPlane = typedef BSPPlane_v0

Definition at line 18 of file LumpData.h.

◆ BSPSurfEdge

Definition at line 222 of file LumpData.h.

◆ BSPTextureData

Definition at line 33 of file LumpData.h.

◆ BSPTextureInfo

Definition at line 108 of file LumpData.h.

◆ BSPVertex

using bsppp::BSPVertex = typedef BSPVertex_v0

Definition at line 43 of file LumpData.h.

Enumeration Type Documentation

◆ BSPLump

enum class bsppp::BSPLump : int32_t
strong
Enumerator
UNKNOWN 
ENTITIES 
PLANES 
TEXDATA 
VERTEXES 
VISIBILITY 
NODES 
TEXINFO 
FACES 
LIGHTING 
OCCLUSION 
LEAFS 
FACEIDS 
EDGES 
SURFEDGES 
MODELS 
WORLDLIGHTS 
LEAFFACES 
LEAFBRUSHES 
BRUSHES 
BRUSHSIDES 
AREAS 
AREAPORTALS 
S2004_PORTALS 
UNUSED0 
SL4D2_PROPCOLLISION 
S2004_CLUSTERS 
UNUSED1 
SL4D2_PROPHULLS 
S2004_PORTALVERTS 
UNUSED2 
SL4D2_PROPHULLVERTS 
S2004_CLUSTERPORTALS 
UNUSED3 
SL4D2_PROPTRIS 
DISPINFO 
ORIGINALFACES 
PHYSDISP 
PHYSCOLLIDE 
VERTNORMALS 
VERTNORMALINDICES 
S2004_DISP_LIGHTMAP_ALPHAS 
UNUSED4 
DISP_VERTS 
DISP_LIGHTMAP_SAMPLE_POSITIONS 
GAME_LUMP 
LEAFWATERDATA 
PRIMITIVES 
PRIMVERTS 
PRIMINDICES 
PAKFILE 
CLIPPORTALVERTS 
CUBEMAPS 
TEXDATA_STRING_DATA 
TEXDATA_STRING_TABLE 
OVERLAYS 
LEAFMINDISTTOWATER 
FACE_MACRO_TEXTURE_INFO 
DISP_TRIS 
S2004_PHYSCOLLIDESURFACE 
UNUSED5 
SL4D2_PROP_BLOB 
WATEROVERLAYS 
S2006_XBOX_LIGHTMAPPAGES 
LEAF_AMBIENT_INDEX_HDR 
S2006_XBOX_LIGHTMAPPAGEINFOS 
LEAF_AMBIENT_INDEX 
LIGHTING_HDR 
WORLDLIGHTS_HDR 
LEAF_AMBIENT_LIGHTING_HDR 
LEAF_AMBIENT_LIGHTING 
XBOX_XZIPPAKFILE 
FACES_HDR 
MAP_FLAGS 
OVERLAY_FADES 
L4D_OVERLAY_SYSTEM_LEVELS 
UNUSED6 
L4D2_PHYSLEVEL 
UNUSED7 
ASW_DISP_MULTIBLEND 
UNUSED8 
COUNT 

Definition at line 23 of file BSP.h.

Variable Documentation

◆ BSP_CONSOLE_SIGNATURE

constexpr auto bsppp::BSP_CONSOLE_SIGNATURE = sourcepp::parser::binary::makeFourCC("PSBV")
constexpr

Definition at line 21 of file BSP.h.

◆ BSP_EXTENSION

constexpr std::string_view bsppp::BSP_EXTENSION = ".bsp"
constexpr

Definition at line 9 of file PakLump.h.

◆ BSP_LUMP_COUNT

constexpr int32_t bsppp::BSP_LUMP_COUNT = 64
constexpr

Definition at line 108 of file BSP.h.

◆ BSP_LUMP_ORDER

constexpr std::array<uint32_t, 64> bsppp::BSP_LUMP_ORDER
constexpr
Initial value:
{
25, 24, 32, 57, 49, 59, 6, 2,
43, 44, 10, 17, 1, 18, 19, 14,
5, 20, 21, 4, 0, 29, 26, 62,
3, 12, 13, 7, 58, 33, 48, 63,
28, 9, 8, 53, 37, 38, 39, 30,
31, 56, 52, 51, 55, 16, 36, 45,
50, 60, 61, 46, 42, 41, 54, 15,
34, 47, 11, 22, 23, 27, 35, 40,
}

Pulled from Portal 2, map e1912.

This is not a given for every game or even map, and obviously lump order doesn't matter one bit, but we do at least want the paklump to be at the end since it commonly grows and shrinks.

Definition at line 113 of file BSP.h.

◆ BSP_SIGNATURE

constexpr auto bsppp::BSP_SIGNATURE = sourcepp::parser::binary::makeFourCC("VBSP")
constexpr

Definition at line 20 of file BSP.h.