Quake-III-Arena

Quake III Arena GPL Source Release
Log | Files | Refs

l_bsp_sin.h (3443B)


      1 /*
      2 ===========================================================================
      3 Copyright (C) 1999-2005 Id Software, Inc.
      4 
      5 This file is part of Quake III Arena source code.
      6 
      7 Quake III Arena source code is free software; you can redistribute it
      8 and/or modify it under the terms of the GNU General Public License as
      9 published by the Free Software Foundation; either version 2 of the License,
     10 or (at your option) any later version.
     11 
     12 Quake III Arena source code is distributed in the hope that it will be
     13 useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 GNU General Public License for more details.
     16 
     17 You should have received a copy of the GNU General Public License
     18 along with Foobar; if not, write to the Free Software
     19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
     20 ===========================================================================
     21 */
     22 
     23 #include "sinfiles.h"
     24 
     25 #define SINGAME_BSPHEADER		(('P'<<24)+('S'<<16)+('B'<<8)+'R')	//RBSP
     26 #define SINGAME_BSPVERSION		1
     27 
     28 #define SIN_BSPHEADER			(('P'<<24)+('S'<<16)+('B'<<8)+'I')	//IBSP
     29 #define SIN_BSPVERSION	41
     30 
     31 
     32 extern	int					sin_nummodels;
     33 extern	sin_dmodel_t		*sin_dmodels;//[MAX_MAP_MODELS];
     34 
     35 extern	int					sin_visdatasize;
     36 extern	byte				*sin_dvisdata;//[MAX_MAP_VISIBILITY];
     37 extern	sin_dvis_t			*sin_dvis;// = (dvis_t *)sin_sin_dvisdata;
     38 
     39 extern	int					sin_lightdatasize;
     40 extern	byte				*sin_dlightdata;//[MAX_MAP_LIGHTING];
     41 
     42 extern	int					sin_entdatasize;
     43 extern	char				*sin_dentdata;//[MAX_MAP_ENTSTRING];
     44 
     45 extern	int					sin_numleafs;
     46 extern	sin_dleaf_t			*sin_dleafs;//[MAX_MAP_LEAFS];
     47 
     48 extern	int					sin_numplanes;
     49 extern	sin_dplane_t		*sin_dplanes;//[MAX_MAP_PLANES];
     50 
     51 extern	int					sin_numvertexes;
     52 extern	sin_dvertex_t		*sin_dvertexes;//[MAX_MAP_VERTS];
     53 
     54 extern	int					sin_numnodes;
     55 extern	sin_dnode_t			*sin_dnodes;//[MAX_MAP_NODES];
     56 
     57 extern	int					sin_numtexinfo;
     58 extern	sin_texinfo_t		*sin_texinfo;//[MAX_MAP_sin_texinfo];
     59 
     60 extern	int					sin_numfaces;
     61 extern	sin_dface_t			*sin_dfaces;//[MAX_MAP_FACES];
     62 
     63 extern	int					sin_numedges;
     64 extern	sin_dedge_t			*sin_dedges;//[MAX_MAP_EDGES];
     65 
     66 extern	int					sin_numleaffaces;
     67 extern	unsigned short		*sin_dleaffaces;//[MAX_MAP_LEAFFACES];
     68 
     69 extern	int					sin_numleafbrushes;
     70 extern	unsigned short		*sin_dleafbrushes;//[MAX_MAP_LEAFBRUSHES];
     71 
     72 extern	int					sin_numsurfedges;
     73 extern	int					*sin_dsurfedges;//[MAX_MAP_SURFEDGES];
     74 
     75 extern	int					sin_numbrushes;
     76 extern	sin_dbrush_t		*sin_dbrushes;//[MAX_MAP_BRUSHES];
     77 
     78 extern	int					sin_numbrushsides;
     79 extern	sin_dbrushside_t	*sin_dbrushsides;//[MAX_MAP_BRUSHSIDES];
     80 
     81 extern	int					sin_numareas;
     82 extern	sin_darea_t			*sin_dareas;//[MAX_MAP_AREAS];
     83 
     84 extern	int					sin_numareaportals;
     85 extern	sin_dareaportal_t	*sin_dareaportals;//[MAX_MAP_AREAPORTALS];
     86 
     87 extern	int					sin_numlightinfo;
     88 extern	sin_lightvalue_t	*sin_lightinfo;//[MAX_MAP_LIGHTINFO];
     89 
     90 extern	byte				sin_dpop[256];
     91 
     92 extern	char				sin_dbrushsidetextured[SIN_MAX_MAP_BRUSHSIDES];
     93 
     94 void Sin_AllocMaxBSP(void);
     95 void Sin_FreeMaxBSP(void);
     96 
     97 void Sin_DecompressVis(byte *in, byte *decompressed);
     98 int Sin_CompressVis(byte *vis, byte *dest);
     99 
    100 void Sin_LoadBSPFile (char *filename, int offset, int length);
    101 void Sin_LoadBSPFileTexinfo (char *filename);	// just for qdata
    102 void Sin_WriteBSPFile (char *filename);
    103 void Sin_PrintBSPFileSizes (void);
    104 void Sin_ParseEntities(void);
    105 void Sin_UnparseEntities(void);
    106