Classes | Typedefs | Enumerations | Functions | Variables

quake Namespace Reference

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:

  • A non-negative index refers to a node
  • A negative index is a leaf, -(leaf + 1)
More...
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_treadLumpEntities (IO std::istream &in)
lump_object_treadLumpFaces (IO std::istream &in)
lump_object_treadLumpLeaffaces (IO std::istream &in)
lump_object_treadLumpLeafs (IO std::istream &in)
lump_object_treadLumpMeshverts (IO std::istream &in)
lump_object_treadLumpNodes (IO std::istream &in)
lump_object_treadLumpPlanes (IO std::istream &in)
lump_object_treadLumpTextures (IO std::istream &in)
lump_object_treadLumpVertices (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< eLumpTypevec_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 Documentation

typedef std::map<eLumpType, direntry_t> quake::lump_entry_map_t

Definition at line 47 of file bsp.cpp.

typedef lump_object_t*(* quake::lump_reader_t)(IO std::istream &in)

Definition at line 53 of file bsp.cpp.


Enumeration Type Documentation

Enumerator:
eLittleEndian 
eBigEndian 
eEndian_Invalid 

Definition at line 70 of file bsp-version.cpp.


Function Documentation

void quake::littleEndianToHostEndian ( IO byte_t *  raw  ) 
Parameters:
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  ) 

Definition at line 144 of file bsp.cpp.

lump_object_t * quake::readLumpFaces ( IO std::istream &  in  ) 

Definition at line 208 of file bsp.cpp.

lump_object_t * quake::readLumpLeaffaces ( IO std::istream &  in  ) 

Definition at line 242 of file bsp.cpp.

lump_object_t * quake::readLumpLeafs ( IO std::istream &  in  ) 

Definition at line 257 of file bsp.cpp.

lump_object_t * quake::readLumpMeshverts ( IO std::istream &  in  ) 

Definition at line 277 of file bsp.cpp.

lump_object_t * quake::readLumpNodes ( IO std::istream &  in  ) 

Definition at line 294 of file bsp.cpp.

lump_object_t * quake::readLumpPlanes ( IO std::istream &  in  ) 

Definition at line 314 of file bsp.cpp.

lump_object_t * quake::readLumpTextures ( IO std::istream &  in  ) 

Definition at line 332 of file bsp.cpp.

lump_object_t * quake::readLumpVertices ( IO std::istream &  in  ) 

Definition at line 352 of file bsp.cpp.

static const lump_entry_t* quake::getLumpEntry ( IN eLumpType  type  )  throw () [static]

Definition at line 120 of file bsp.cpp.


Variable Documentation

static const lump_entry_t quake::s_lumpMap [static]
Initial value:
 {
        { 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.