]> git.xonotic.org Git - xonotic/netradiant.git/blob - tools/quake3/q3data/3dslib.h
transfer from internal tree r5311 branches/1.4-gpl
[xonotic/netradiant.git] / tools / quake3 / q3data / 3dslib.h
1 typedef struct\r
2 {\r
3         float x, y, z;\r
4 } _3DSPoint_t;\r
5 \r
6 typedef struct\r
7 {\r
8         short a, b, c;\r
9         short flags;\r
10 } _3DSFace_t;\r
11 \r
12 typedef struct\r
13 {\r
14         float s, t;\r
15 } _3DSTexVert_t;\r
16 \r
17 typedef struct\r
18 {\r
19         char name[100];\r
20         short numFaces;\r
21         short *pFaces;\r
22 } _3DSMeshMaterialGroup_t;\r
23 \r
24 typedef struct\r
25 {\r
26         char name[80];\r
27 \r
28         char texture[100];\r
29         char specular[100];\r
30         char reflection[100];\r
31         char bump[100];\r
32         char opacity[100];\r
33 } _3DSMaterial_t;\r
34 \r
35 typedef struct\r
36 {\r
37         short numFaces, numPoints, numTexVerts;\r
38         int numMeshMaterialGroups;\r
39 \r
40         _3DSPoint_t *pPoints;\r
41         _3DSFace_t      *pFaces;\r
42         _3DSTexVert_t *pTexVerts;\r
43 \r
44         _3DSMeshMaterialGroup_t *pMeshMaterialGroups;\r
45 } _3DSTriObject_t;\r
46 \r
47 typedef struct\r
48 {\r
49         char name[100];\r
50 \r
51         int                              numTriObjects;\r
52         _3DSTriObject_t *pTriObjects;\r
53 } _3DSNamedObject_t;\r
54 \r
55 typedef struct\r
56 {\r
57         int                                     numNamedObjects;\r
58         int                                     numMaterials;\r
59 \r
60         _3DSNamedObject_t       *pNamedObjects;\r
61         _3DSMaterial_t          *pMaterials;\r
62 \r
63 } _3DSEditChunk_t;\r
64 \r
65 typedef struct\r
66 {\r
67         _3DSEditChunk_t editChunk;\r
68 } _3DS_t;\r
69 \r
70 #define _3DS_CHUNK_NULL                                         0x0000\r
71 #define _3DS_CHUNK_UNKNOWN0                                     0x0001\r
72 #define _3DS_CHUNK_M3D_VERSION                          0x0002\r
73 #define _3DS_CHUNK_M3D_KFVERSION                        0x0005\r
74 #define _3DS_CHUNK_COLOR_F                                      0x0010\r
75 #define _3DS_CHUNK_COLOR_24                                     0x0011\r
76 #define _3DS_CHUNK_LIN_COLOR_24                         0x0012\r
77 #define _3DS_CHUNK_LIN_COLOR_F                          0x0013\r
78 #define _3DS_CHUNK_INT_PERCENTAGE                       0x0030\r
79 #define _3DS_CHUNK_FLOAT_PERCENT                        0x0031\r
80 #define _3DS_CHUNK_MASTER_SCALE                         0x0100\r
81 #define _3DS_CHUNK_CHUNK_TYPE                           0x0995\r
82 #define _3DS_CHUNK_CHUNK_UNIQUE                         0x0996\r
83 #define _3DS_CHUNK_NOT_CHUNK                            0x0997\r
84 #define _3DS_CHUNK_CONTAINER                            0x0998\r
85 #define _3DS_CHUNK_IS_CHUNK                                     0x0999\r
86 #define _3DS_CHUNK_C_SXP_SELFI_MASKDATA         0x0c3c\r
87 \r
88 #define _3DS_CHUNK_BITMAP                                       0x1100\r
89 #define _3DS_CHUNK_USE_BITMAP                           0x1101\r
90 #define _3DS_CHUNK_SOLID_BGND                           0x1200\r
91 #define _3DS_CHUNK_USE_SOLID_BGND                       0x1201\r
92 \r
93 #define _3DS_CHUNK_EDIT                                         0x3d3d\r
94 #define _3DS_CHUNK_MESH_VERSION                         0x3d3e\r
95 \r
96 #define _3DS_CHUNK_NAMED_OBJECT                         0x4000\r
97 #define _3DS_CHUNK_NAMED_TRI_OBJECT                     0x4100\r
98 #define _3DS_CHUNK_POINT_ARRAY                          0x4110\r
99 #define _3DS_CHUNK_POINT_FLAG_ARRAY                     0x4111\r
100 #define _3DS_CHUNK_FACE_ARRAY                           0x4120\r
101 #define _3DS_CHUNK_MSH_MAT_GROUP                        0x4130\r
102 #define _3DS_CHUNK_TEX_VERTS                            0x4140\r
103 #define _3DS_CHUNK_SMOOTH_GROUP                         0x4150\r
104 #define _3DS_CHUNK_MESH_MATRIX                          0x4160\r
105 #define _3DS_CHUNK_MAGIC                                        0x4d4d\r
106 \r
107 #define _3DS_CHUNK_MAT_NAME                                     0xa000\r
108 #define _3DS_CHUNK_TEXMAP                                       0xa200\r
109 #define _3DS_CHUNK_SPECMAP                                      0xa204\r
110 #define _3DS_CHUNK_OPACMAP                                      0xa210\r
111 #define _3DS_CHUNK_REFLMAP                                      0xa220\r
112 #define _3DS_CHUNK_BUMPMAP                                      0xa230\r
113 #define _3DS_CHUNK_MAT_MAPNAME                          0xa300\r
114 #define _3DS_CHUNK_MAT_LIST                                     0xafff\r
115 \r
116 #define _3DS_CHUNK_KEYFRAME_DATA                        0xb000\r
117 \r
118 void _3DS_LoadPolysets( const char *filename, polyset_t **ppPSET, int *numpsets, qboolean verbose );\r