Classes | |
class | BspVersion |
bsp version object More... | |
struct | lump_object_t |
an object in a lump. More... | |
struct | entity_t |
a game entity in the bsp map More... | |
struct | face_t |
a polygon face in the bsp map More... | |
struct | node_t |
a node in the BSP tree Note that the indexing scheme is unusual:
| |
struct | leaf_t |
a leaf in the BSP tree More... | |
struct | leafface_t |
a leaf face in the BSP tree More... | |
struct | meshvert_t |
a mesh vertex More... | |
struct | plane_t |
a 2D plane in the BSP tree More... | |
struct | texture_path_t |
texture information More... | |
struct | color_t |
color struct TODO: centralize this somewhere? now redundant with glut::color_t More... | |
struct | vertex_t |
vertex information More... | |
class | Bsp |
The 3D space-partitioned map. More... | |
Typedefs | |
typedef std::map< eLumpType, direntry_t > | lump_entry_map_t |
typedef lump_object_t *(* | lump_reader_t )(IO std::istream &in) |
Enumerations | |
enum | eEndian { eLittleEndian = 1, eBigEndian = 2, eEndian_Invalid = 0 } |
enum | eFaceType { eFace_Polygon = 1, eFace_Patch = 2, eFace_Mesh = 3, eFace_Billboard = 4, eFace_Invalid = 0 } |
polygon face type More... | |
Functions | |
void | littleEndianToHostEndian (IO byte_t *raw) |
static eBspVendor | parseVendor (IO std::istream &in) |
static eBspVersion | parseVersion (IN eBspVendor vendor, IN int val) |
lump_object_t * | readLumpEntities (IO std::istream &in) |
lump_object_t * | readLumpFaces (IO std::istream &in) |
lump_object_t * | readLumpLeaffaces (IO std::istream &in) |
lump_object_t * | readLumpLeafs (IO std::istream &in) |
lump_object_t * | readLumpMeshverts (IO std::istream &in) |
lump_object_t * | readLumpNodes (IO std::istream &in) |
lump_object_t * | readLumpPlanes (IO std::istream &in) |
lump_object_t * | readLumpTextures (IO std::istream &in) |
lump_object_t * | readLumpVertices (IO std::istream &in) |
static const lump_entry_t * | getLumpEntry (IN eLumpType type) throw () |
Variables | |
static const lump_meta_t | s_lumpMap [] |
| |
enum | eBspVendor { eBspVendor_Id = 1, eBspVendor_Valve = 2, eBspVendor_Invalid = 0 } |
enum | eBspVersion { eBspVersion_IdQuake3 = 1001, eBspVersion_Invalid = 0 } |
enum | eLumpType { eLump_Entities = 1, eLump_Textures = 2, eLump_Planes = 3, eLump_Nodes = 4, eLump_Leafs = 5, eLump_Leaffaces = 6, eLump_Leafbrushes = 7, eLump_Models = 8, eLump_Brushes = 9, eLump_Brushsides = 10, eLump_Vertices = 11, eLump_Meshverts = 12, eLump_Effects = 13, eLump_Faces = 14, eLump_Lightmaps = 15, eLump_Lightvols = 16, eLump_Visdata = 17, eLump_Invalid = 0 } |
types of lumps in BSP maps. More... | |
typedef std::vector< eLumpType > | vec_lump_type_t |
const char * | getLumpName (IN eLumpType type) |
for debugging | |
int | readInt (IO std::istream &stream) |
read an integer. These are stored as little-endian in BSP files. | |
float | readFloat (IO std::istream &stream) |
read a float. These are stored as little-endian in BSP files. | |
point3d_t | readPoint3d (IO std::istream &stream) |
read a vector/point (helper function using readFloat() above) |
typedef std::map<eLumpType, direntry_t> quake::lump_entry_map_t |
typedef lump_object_t*(* quake::lump_reader_t)(IO std::istream &in) |
enum quake::eEndian |
Definition at line 70 of file bsp-version.cpp.
void quake::littleEndianToHostEndian | ( | IO byte_t * | raw | ) |
raw | points to 4 bytes of little-endian data |
Definition at line 87 of file bsp-version.cpp.
static eBspVendor quake::parseVendor | ( | IO std::istream & | in | ) | [static] |
Definition at line 130 of file bsp-version.cpp.
static eBspVersion quake::parseVersion | ( | IN eBspVendor | vendor, | |
IN int | val | |||
) | [static] |
Definition at line 155 of file bsp-version.cpp.
lump_object_t * quake::readLumpEntities | ( | IO std::istream & | in | ) |
lump_object_t * quake::readLumpFaces | ( | IO std::istream & | in | ) |
lump_object_t * quake::readLumpLeaffaces | ( | IO std::istream & | in | ) |
lump_object_t * quake::readLumpLeafs | ( | IO std::istream & | in | ) |
lump_object_t * quake::readLumpMeshverts | ( | IO std::istream & | in | ) |
lump_object_t * quake::readLumpNodes | ( | IO std::istream & | in | ) |
lump_object_t * quake::readLumpPlanes | ( | IO std::istream & | in | ) |
lump_object_t * quake::readLumpTextures | ( | IO std::istream & | in | ) |
lump_object_t * quake::readLumpVertices | ( | IO std::istream & | in | ) |
static const lump_entry_t* quake::getLumpEntry | ( | IN eLumpType | type | ) | throw () [static] |
static const lump_entry_t quake::s_lumpMap [static] |
{ { eLump_Entities , "Entities" }, { eLump_Textures , "Textures" }, { eLump_Planes , "Planes" }, { eLump_Nodes , "Nodes" }, { eLump_Leafs , "Leafs" }, { eLump_Leaffaces , "Leaffaces" }, { eLump_Leafbrushes , "Leafbrushes" }, { eLump_Models , "Models" }, { eLump_Brushes , "Brushes" }, { eLump_Brushsides , "Brushsides" }, { eLump_Vertices , "Vertices" }, { eLump_Meshverts , "Meshverts" }, { eLump_Effects , "Effects" }, { eLump_Faces , "Faces" }, { eLump_Lightmaps , "Lightmaps" }, { eLump_Lightvols , "Lightvols" }, { eLump_Visdata , "Visdata" }, { eLump_Invalid, "Invalid" } }
Definition at line 46 of file bsp-version.cpp.