Main Page | Class Hierarchy | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals

cm_public.h

Go to the documentation of this file.
00001 /*
00002 ===========================================================================
00003 Copyright (C) 1999-2005 Id Software, Inc.
00004 
00005 This file is part of Quake III Arena source code.
00006 
00007 Quake III Arena source code is free software; you can redistribute it
00008 and/or modify it under the terms of the GNU General Public License as
00009 published by the Free Software Foundation; either version 2 of the License,
00010 or (at your option) any later version.
00011 
00012 Quake III Arena source code is distributed in the hope that it will be
00013 useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015 GNU General Public License for more details.
00016 
00017 You should have received a copy of the GNU General Public License
00018 along with Foobar; if not, write to the Free Software
00019 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
00020 ===========================================================================
00021 */
00022 
00023 #include "qfiles.h"
00024 
00025 
00026 void        CM_LoadMap( const char *name, qboolean clientload, int *checksum);
00027 void        CM_ClearMap( void );
00028 clipHandle_t CM_InlineModel( int index );       // 0 = world, 1 + are bmodels
00029 clipHandle_t CM_TempBoxModel( const vec3_t mins, const vec3_t maxs, int capsule );
00030 
00031 void        CM_ModelBounds( clipHandle_t model, vec3_t mins, vec3_t maxs );
00032 
00033 int         CM_NumClusters (void);
00034 int         CM_NumInlineModels( void );
00035 char        *CM_EntityString (void);
00036 
00037 // returns an ORed contents mask
00038 int         CM_PointContents( const vec3_t p, clipHandle_t model );
00039 int         CM_TransformedPointContents( const vec3_t p, clipHandle_t model, const vec3_t origin, const vec3_t angles );
00040 
00041 void        CM_BoxTrace ( trace_t *results, const vec3_t start, const vec3_t end,
00042                           vec3_t mins, vec3_t maxs,
00043                           clipHandle_t model, int brushmask, int capsule );
00044 void        CM_TransformedBoxTrace( trace_t *results, const vec3_t start, const vec3_t end,
00045                           vec3_t mins, vec3_t maxs,
00046                           clipHandle_t model, int brushmask,
00047                           const vec3_t origin, const vec3_t angles, int capsule );
00048 
00049 byte        *CM_ClusterPVS (int cluster);
00050 
00051 int         CM_PointLeafnum( const vec3_t p );
00052 
00053 // only returns non-solid leafs
00054 // overflow if return listsize and if *lastLeaf != list[listsize-1]
00055 int         CM_BoxLeafnums( const vec3_t mins, const vec3_t maxs, int *list,
00056                             int listsize, int *lastLeaf );
00057 
00058 int         CM_LeafCluster (int leafnum);
00059 int         CM_LeafArea (int leafnum);
00060 
00061 void        CM_AdjustAreaPortalState( int area1, int area2, qboolean open );
00062 qboolean    CM_AreasConnected( int area1, int area2 );
00063 
00064 int         CM_WriteAreaBits( byte *buffer, int area );
00065 
00066 // cm_tag.c
00067 int         CM_LerpTag( orientation_t *tag,  clipHandle_t model, int startFrame, int endFrame, 
00068                      float frac, const char *tagName );
00069 
00070 
00071 // cm_marks.c
00072 int CM_MarkFragments( int numPoints, const vec3_t *points, const vec3_t projection,
00073                    int maxPoints, vec3_t pointBuffer, int maxFragments, markFragment_t *fragmentBuffer );
00074 
00075 // cm_patch.c
00076 void CM_DrawDebugSurface( void (*drawPoly)(int color, int numPoints, float *points) );

Generated on Thu Aug 25 12:37:46 2005 for Quake III Arena by  doxygen 1.3.9.1