2 Copyright (C) 1999-2007 id Software, Inc. and contributors.
3 For a list of contributors, see the accompanying CONTRIBUTORS file.
5 This file is part of GtkRadiant.
7 GtkRadiant is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or
10 (at your option) any later version.
12 GtkRadiant is distributed in the hope that it will be useful,
13 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.
17 You should have received a copy of the GNU General Public License
18 along with GtkRadiant; if not, write to the Free Software
19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
43 } _3DSMeshMaterialGroup_t;
58 short numFaces, numPoints, numTexVerts;
59 int numMeshMaterialGroups;
63 _3DSTexVert_t *pTexVerts;
65 _3DSMeshMaterialGroup_t *pMeshMaterialGroups;
73 _3DSTriObject_t *pTriObjects;
81 _3DSNamedObject_t *pNamedObjects;
82 _3DSMaterial_t *pMaterials;
88 _3DSEditChunk_t editChunk;
91 #define _3DS_CHUNK_NULL ((short) 0x0000)
92 #define _3DS_CHUNK_UNKNOWN0 ((short) 0x0001)
93 #define _3DS_CHUNK_M3D_VERSION ((short) 0x0002)
94 #define _3DS_CHUNK_M3D_KFVERSION ((short) 0x0005)
95 #define _3DS_CHUNK_COLOR_F ((short) 0x0010)
96 #define _3DS_CHUNK_COLOR_24 ((short) 0x0011)
97 #define _3DS_CHUNK_LIN_COLOR_24 ((short) 0x0012)
98 #define _3DS_CHUNK_LIN_COLOR_F ((short) 0x0013)
99 #define _3DS_CHUNK_INT_PERCENTAGE ((short) 0x0030)
100 #define _3DS_CHUNK_FLOAT_PERCENT ((short) 0x0031)
101 #define _3DS_CHUNK_MASTER_SCALE ((short) 0x0100)
102 #define _3DS_CHUNK_CHUNK_TYPE ((short) 0x0995)
103 #define _3DS_CHUNK_CHUNK_UNIQUE ((short) 0x0996)
104 #define _3DS_CHUNK_NOT_CHUNK ((short) 0x0997)
105 #define _3DS_CHUNK_CONTAINER ((short) 0x0998)
106 #define _3DS_CHUNK_IS_CHUNK ((short) 0x0999)
107 #define _3DS_CHUNK_C_SXP_SELFI_MASKDATA ((short) 0x0c3c)
109 #define _3DS_CHUNK_BITMAP ((short) 0x1100)
110 #define _3DS_CHUNK_USE_BITMAP ((short) 0x1101)
111 #define _3DS_CHUNK_SOLID_BGND ((short) 0x1200)
112 #define _3DS_CHUNK_USE_SOLID_BGND ((short) 0x1201)
114 #define _3DS_CHUNK_EDIT ((short) 0x3d3d)
115 #define _3DS_CHUNK_MESH_VERSION ((short) 0x3d3e)
117 #define _3DS_CHUNK_NAMED_OBJECT ((short) 0x4000)
118 #define _3DS_CHUNK_NAMED_TRI_OBJECT ((short) 0x4100)
119 #define _3DS_CHUNK_POINT_ARRAY ((short) 0x4110)
120 #define _3DS_CHUNK_POINT_FLAG_ARRAY ((short) 0x4111)
121 #define _3DS_CHUNK_FACE_ARRAY ((short) 0x4120)
122 #define _3DS_CHUNK_MSH_MAT_GROUP ((short) 0x4130)
123 #define _3DS_CHUNK_TEX_VERTS ((short) 0x4140)
124 #define _3DS_CHUNK_SMOOTH_GROUP ((short) 0x4150)
125 #define _3DS_CHUNK_MESH_MATRIX ((short) 0x4160)
126 #define _3DS_CHUNK_MAGIC ((short) 0x4d4d)
128 #define _3DS_CHUNK_MAT_NAME ((short) 0xa000)
129 #define _3DS_CHUNK_TEXMAP ((short) 0xa200)
130 #define _3DS_CHUNK_SPECMAP ((short) 0xa204)
131 #define _3DS_CHUNK_OPACMAP ((short) 0xa210)
132 #define _3DS_CHUNK_REFLMAP ((short) 0xa220)
133 #define _3DS_CHUNK_BUMPMAP ((short) 0xa230)
134 #define _3DS_CHUNK_MAT_MAPNAME ((short) 0xa300)
135 #define _3DS_CHUNK_MAT_LIST ((short) 0xafff)
137 #define _3DS_CHUNK_KEYFRAME_DATA ((short) 0xb000)
139 void _3DS_LoadPolysets( const char *filename, polyset_t **ppPSET, int *numpsets, qboolean verbose );