]> de.git.xonotic.org Git - xonotic/netradiant.git/blob - tools/quake2/qdata_heretic2/common/trilib.h
2afdf5592cb9e9ad9dd985e7f120b786ccc0df4f
[xonotic/netradiant.git] / tools / quake2 / qdata_heretic2 / common / trilib.h
1 /*\r
2 Copyright (C) 1999-2007 id Software, Inc. and contributors.\r
3 For a list of contributors, see the accompanying CONTRIBUTORS file.\r
4 \r
5 This file is part of GtkRadiant.\r
6 \r
7 GtkRadiant is free software; you can redistribute it and/or modify\r
8 it under the terms of the GNU General Public License as published by\r
9 the Free Software Foundation; either version 2 of the License, or\r
10 (at your option) any later version.\r
11 \r
12 GtkRadiant is distributed in the hope that it will be useful,\r
13 but WITHOUT ANY WARRANTY; without even the implied warranty of\r
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
15 GNU General Public License for more details.\r
16 \r
17 You should have received a copy of the GNU General Public License\r
18 along with GtkRadiant; if not, write to the Free Software\r
19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA\r
20 */\r
21 \r
22 //\r
23 // trilib.h: header file for loading triangles from an Alias triangle file\r
24 //\r
25 \r
26 #include "fmodel.h"\r
27 \r
28 #define MAXTRIANGLES    MAX_FM_TRIANGLES\r
29 \r
30 typedef struct \r
31 {\r
32         vec3_t          verts[3];\r
33 #if 1\r
34         int                     indicies[3];\r
35         float           uv[3][2];\r
36         qboolean        HasUV;\r
37 #endif\r
38 } triangle_t;\r
39 \r
40 #define NUM_CLUSTERS 8\r
41 \r
42 typedef struct\r
43 {\r
44         char    name[64];\r
45         byte    tris[MAXTRIANGLES>>3];\r
46         byte    verts[MAX_FM_VERTS>>3];\r
47         int             start_glcmds, num_glcmds;\r
48 \r
49         int *clusters[NUM_CLUSTERS];\r
50         struct IntListNode_s *vertLists[NUM_CLUSTERS];\r
51         int num_verts[NUM_CLUSTERS + 1];\r
52         int new_num_verts[NUM_CLUSTERS + 1];\r
53         qboolean clustered;\r
54 } mesh_node_t;\r
55 \r
56 void LoadTriangleList (char *filename, triangle_t **pptri, int *numtriangles, mesh_node_t **ppmnodes, int *num_mesh_nodes);\r