]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - contrib/bobtoolz/bsploader.h
Wean off #define
[xonotic/netradiant.git] / contrib / bobtoolz / bsploader.h
index 96f7c85109c31208fd5829070a97ae0599bb5215..47e9f5a32b17bbf860f3d4aa9cdaab7263f26cc9 100644 (file)
-#define        LUMP_ENTITIES           0\r
-#define        LUMP_SHADERS            1\r
-#define        LUMP_PLANES                     2\r
-#define        LUMP_NODES                      3\r
-#define        LUMP_LEAFS                      4\r
-#define        LUMP_LEAFSURFACES       5\r
-#define        LUMP_LEAFBRUSHES        6\r
-#define        LUMP_MODELS                     7\r
-#define        LUMP_BRUSHES            8\r
-#define        LUMP_BRUSHSIDES         9\r
-#define        LUMP_DRAWVERTS          10\r
-#define        LUMP_DRAWINDEXES        11\r
-#define        LUMP_FOGS                       12\r
-#define        LUMP_SURFACES           13\r
-#define        LUMP_LIGHTMAPS          14\r
-#define        LUMP_LIGHTGRID          15\r
-#define        LUMP_VISIBILITY         16\r
-#define        HEADER_LUMPS            17\r
-\r
-typedef struct {\r
-       int             fileofs, filelen;\r
-} lump_t;\r
-\r
-typedef struct {\r
-       int                     ident;\r
-       int                     version;\r
-\r
-       lump_t          lumps[HEADER_LUMPS];\r
-} dheader_t;\r
-\r
-typedef struct {\r
-       float           normal[3];\r
-       float           dist;\r
-} dplane_t;\r
-\r
-typedef struct {\r
-       int                     planeNum;\r
-       int                     children[2];    // negative numbers are -(leafs+1), not nodes\r
-       int                     mins[3];                // for frustom culling\r
-       int                     maxs[3];\r
-} dnode_t;\r
-\r
-typedef struct {\r
-       int                     cluster;                        // -1 = opaque cluster (do I still store these?)\r
-       int                     area;\r
-\r
-       int                     mins[3];                        // for frustum culling\r
-       int                     maxs[3];\r
-\r
-       int                     firstLeafSurface;\r
-       int                     numLeafSurfaces;\r
-\r
-       int                     firstLeafBrush;\r
-       int                     numLeafBrushes;\r
-} dleaf_t;\r
-\r
-typedef struct {\r
-       vec3_t          xyz;\r
-       float           st[2];\r
-       float           lightmap[2];\r
-       vec3_t          normal;\r
-       byte            color[4];\r
-} qdrawVert_t;\r
-\r
-typedef struct {\r
-       int                     shaderNum;\r
-       int                     fogNum;\r
-       int                     surfaceType;\r
-\r
-       int                     firstVert;\r
-       int                     numVerts;\r
-\r
-       int                     firstIndex;\r
-       int                     numIndexes;\r
-\r
-       int                     lightmapNum;\r
-       int                     lightmapX, lightmapY;\r
-       int                     lightmapWidth, lightmapHeight;\r
-\r
-       vec3_t          lightmapOrigin;\r
-       vec3_t          lightmapVecs[3];        // for patches, [0] and [1] are lodbounds\r
-\r
-       int                     patchWidth;\r
-       int                     patchHeight;\r
-} dsurface_t;\r
-\r
-typedef struct {\r
-       int                     planeNum;                       // positive plane side faces out of the leaf\r
-       int                     shaderNum;\r
-} dbrushside_t;\r
-\r
-typedef struct {\r
-       int                     firstSide;\r
-       int                     numSides;\r
-       int                     shaderNum;              // the shader that determines the contents flags\r
-} dbrush_t;\r
-\r
-typedef enum {\r
-       MST_BAD,\r
-       MST_PLANAR,\r
-       MST_PATCH,\r
-       MST_TRIANGLE_SOUP,\r
-       MST_FLARE\r
-} mapSurfaceType_t;\r
-\r
-#define        MAX_MAP_VISIBILITY      0x200000\r
-#define        MAX_MAP_NODES           0x20000\r
-#define        MAX_MAP_PLANES          0x20000\r
-#define        MAX_MAP_LEAFS           0x20000\r
-\r
-extern int                     numVisBytes;\r
-extern int                     numleafs;\r
-extern int                     numplanes;\r
-extern int                     numnodes;\r
-extern int                     numDrawVerts;\r
-extern int                     numDrawSurfaces;\r
-extern int                     numleafsurfaces;\r
-extern int                     numbrushes;\r
-extern int                     numbrushsides;\r
-extern int                     numleafbrushes;\r
-\r
-extern dnode_t                 *dnodes;\r
-extern dplane_t                *dplanes;\r
-extern dleaf_t                 *dleafs;\r
-extern byte                    *visBytes;\r
-extern qdrawVert_t             *drawVerts;\r
-extern dsurface_t              *drawSurfaces;\r
-extern int                             *dleafsurfaces;\r
-extern dbrush_t                *dbrushes;\r
-extern dbrushside_t    *dbrushsides;\r
-extern int                             *dleafbrushes;\r
-\r
-qboolean LoadBSPFile( const char *filename );\r
-void FreeBSPData();\r
+
+#include "mathlib.h"
+
+const int LUMP_ENTITIES       = 0;
+const int LUMP_SHADERS        = 1;
+const int LUMP_PLANES         = 2;
+const int LUMP_NODES          = 3;
+const int LUMP_LEAFS          = 4;
+const int LUMP_LEAFSURFACES   = 5;
+const int LUMP_LEAFBRUSHES    = 6;
+const int LUMP_MODELS         = 7;
+const int LUMP_BRUSHES        = 8;
+const int LUMP_BRUSHSIDES     = 9;
+const int LUMP_DRAWVERTS      = 10;
+const int LUMP_DRAWINDEXES    = 11;
+const int LUMP_FOGS           = 12;
+const int LUMP_SURFACES       = 13;
+const int LUMP_LIGHTMAPS      = 14;
+const int LUMP_LIGHTGRID      = 15;
+const int LUMP_VISIBILITY     = 16;
+const int HEADER_LUMPS        = 17;
+
+typedef struct {
+       int fileofs, filelen;
+} lump_t;
+
+typedef struct {
+       int ident;
+       int version;
+
+       lump_t lumps[HEADER_LUMPS];
+} dheader_t;
+
+typedef struct {
+       float normal[3];
+       float dist;
+} dplane_t;
+
+typedef struct {
+       int planeNum;
+       int children[2];            // negative numbers are -(leafs+1), not nodes
+       int mins[3];                // for frustom culling
+       int maxs[3];
+} dnode_t;
+
+typedef struct {
+       int cluster;                    // -1 = opaque cluster (do I still store these?)
+       int area;
+
+       int mins[3];                    // for frustum culling
+       int maxs[3];
+
+       int firstLeafSurface;
+       int numLeafSurfaces;
+
+       int firstLeafBrush;
+       int numLeafBrushes;
+} dleaf_t;
+
+typedef struct {
+       vec3_t xyz;
+       float st[2];
+       float lightmap[2];
+       vec3_t normal;
+       byte color[4];
+} qdrawVert_t;
+
+typedef struct {
+       int shaderNum;
+       int fogNum;
+       int surfaceType;
+
+       int firstVert;
+       int numVerts;
+
+       int firstIndex;
+       int numIndexes;
+
+       int lightmapNum;
+       int lightmapX, lightmapY;
+       int lightmapWidth, lightmapHeight;
+
+       vec3_t lightmapOrigin;
+       vec3_t lightmapVecs[3];         // for patches, [0] and [1] are lodbounds
+
+       int patchWidth;
+       int patchHeight;
+} dsurface_t;
+
+typedef struct {
+       int planeNum;                   // positive plane side faces out of the leaf
+       int shaderNum;
+} dbrushside_t;
+
+typedef struct {
+       int firstSide;
+       int numSides;
+       int shaderNum;              // the shader that determines the contents flags
+} dbrush_t;
+
+typedef enum {
+       MST_BAD,
+       MST_PLANAR,
+       MST_PATCH,
+       MST_TRIANGLE_SOUP,
+       MST_FLARE
+} mapSurfaceType_t;
+
+const int MAX_MAP_VISIBILITY  = 0x200000;
+const int MAX_MAP_NODES       = 0x20000;
+const int MAX_MAP_PLANES      = 0x20000;
+const int MAX_MAP_LEAFS       = 0x20000;
+
+extern int numVisBytes;
+extern int numleafs;
+extern int numplanes;
+extern int numnodes;
+extern int numDrawVerts;
+extern int numDrawSurfaces;
+extern int numleafsurfaces;
+extern int numbrushes;
+extern int numbrushsides;
+extern int numleafbrushes;
+
+extern dnode_t         *dnodes;
+extern dplane_t        *dplanes;
+extern dleaf_t         *dleafs;
+extern byte            *visBytes;
+extern qdrawVert_t     *drawVerts;
+extern dsurface_t      *drawSurfaces;
+extern int             *dleafsurfaces;
+extern dbrush_t        *dbrushes;
+extern dbrushside_t    *dbrushsides;
+extern int             *dleafbrushes;
+
+bool LoadBSPFile( const char *filename );
+void FreeBSPData();