2 #ifndef INCLUDED_LIB3DS_CHUNKTABLE_H
3 #define INCLUDED_LIB3DS_CHUNKTABLE_H
5 * The 3D Studio File Format Library
6 * Copyright (C) 1996-2001 by J.E. Hoffmann <je-h@gmx.net>
9 * This program is free software; you can redistribute it and/or modify it
10 * under the terms of the GNU Lesser General Public License as published by
11 * the Free Software Foundation; either version 2.1 of the License, or (at
12 * your option) any later version.
14 * This program is distributed in the hope that it will be useful, but
15 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
17 * License for more details.
19 * You should have received a copy of the GNU Lesser General Public License
20 * along with this program; if not, write to the Free Software Foundation,
21 * Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
23 * $Id: chunktable.h,v 1.13 2004/12/31 16:17:15 reed Exp $
26 #ifndef INCLUDED_LIB3DS_CHUNK_H
27 #include <lib3ds/chunk.h>
34 typedef struct _Lib3dsChunkTable {
39 static Lib3dsChunkTable lib3ds_chunk_table[]={
40 {LIB3DS_NULL_CHUNK, "LIB3DS_NULL_CHUNK"},
41 {LIB3DS_M3DMAGIC, "LIB3DS_M3DMAGIC"},
42 {LIB3DS_SMAGIC, "LIB3DS_SMAGIC"},
43 {LIB3DS_LMAGIC, "LIB3DS_LMAGIC"},
44 {LIB3DS_MLIBMAGIC, "LIB3DS_MLIBMAGIC"},
45 {LIB3DS_MATMAGIC, "LIB3DS_MATMAGIC"},
46 {LIB3DS_CMAGIC, "LIB3DS_CMAGIC"},
47 {LIB3DS_M3D_VERSION, "LIB3DS_M3D_VERSION"},
48 {LIB3DS_M3D_KFVERSION, "LIB3DS_M3D_KFVERSION"},
49 {LIB3DS_COLOR_F, "LIB3DS_COLOR_F"},
50 {LIB3DS_COLOR_24, "LIB3DS_COLOR_24"},
51 {LIB3DS_LIN_COLOR_24, "LIB3DS_LIN_COLOR_24"},
52 {LIB3DS_LIN_COLOR_F, "LIB3DS_LIN_COLOR_F"},
53 {LIB3DS_INT_PERCENTAGE, "LIB3DS_INT_PERCENTAGE"},
54 {LIB3DS_FLOAT_PERCENTAGE, "LIB3DS_FLOAT_PERCENTAGE"},
55 {LIB3DS_MDATA, "LIB3DS_MDATA"},
56 {LIB3DS_MESH_VERSION, "LIB3DS_MESH_VERSION"},
57 {LIB3DS_MASTER_SCALE, "LIB3DS_MASTER_SCALE"},
58 {LIB3DS_LO_SHADOW_BIAS, "LIB3DS_LO_SHADOW_BIAS"},
59 {LIB3DS_HI_SHADOW_BIAS, "LIB3DS_HI_SHADOW_BIAS"},
60 {LIB3DS_SHADOW_MAP_SIZE, "LIB3DS_SHADOW_MAP_SIZE"},
61 {LIB3DS_SHADOW_SAMPLES, "LIB3DS_SHADOW_SAMPLES"},
62 {LIB3DS_SHADOW_RANGE, "LIB3DS_SHADOW_RANGE"},
63 {LIB3DS_SHADOW_FILTER, "LIB3DS_SHADOW_FILTER"},
64 {LIB3DS_RAY_BIAS, "LIB3DS_RAY_BIAS"},
65 {LIB3DS_O_CONSTS, "LIB3DS_O_CONSTS"},
66 {LIB3DS_AMBIENT_LIGHT, "LIB3DS_AMBIENT_LIGHT"},
67 {LIB3DS_BIT_MAP, "LIB3DS_BIT_MAP"},
68 {LIB3DS_SOLID_BGND, "LIB3DS_SOLID_BGND"},
69 {LIB3DS_V_GRADIENT, "LIB3DS_V_GRADIENT"},
70 {LIB3DS_USE_BIT_MAP, "LIB3DS_USE_BIT_MAP"},
71 {LIB3DS_USE_SOLID_BGND, "LIB3DS_USE_SOLID_BGND"},
72 {LIB3DS_USE_V_GRADIENT, "LIB3DS_USE_V_GRADIENT"},
73 {LIB3DS_FOG, "LIB3DS_FOG"},
74 {LIB3DS_FOG_BGND, "LIB3DS_FOG_BGND"},
75 {LIB3DS_LAYER_FOG, "LIB3DS_LAYER_FOG"},
76 {LIB3DS_DISTANCE_CUE, "LIB3DS_DISTANCE_CUE"},
77 {LIB3DS_DCUE_BGND, "LIB3DS_DCUE_BGND"},
78 {LIB3DS_USE_FOG, "LIB3DS_USE_FOG"},
79 {LIB3DS_USE_LAYER_FOG, "LIB3DS_USE_LAYER_FOG"},
80 {LIB3DS_USE_DISTANCE_CUE, "LIB3DS_USE_DISTANCE_CUE"},
81 {LIB3DS_MAT_ENTRY, "LIB3DS_MAT_ENTRY"},
82 {LIB3DS_MAT_NAME, "LIB3DS_MAT_NAME"},
83 {LIB3DS_MAT_AMBIENT, "LIB3DS_MAT_AMBIENT"},
84 {LIB3DS_MAT_DIFFUSE, "LIB3DS_MAT_DIFFUSE"},
85 {LIB3DS_MAT_SPECULAR, "LIB3DS_MAT_SPECULAR"},
86 {LIB3DS_MAT_SHININESS, "LIB3DS_MAT_SHININESS"},
87 {LIB3DS_MAT_SHIN2PCT, "LIB3DS_MAT_SHIN2PCT"},
88 {LIB3DS_MAT_TRANSPARENCY, "LIB3DS_MAT_TRANSPARENCY"},
89 {LIB3DS_MAT_XPFALL, "LIB3DS_MAT_XPFALL"},
90 {LIB3DS_MAT_USE_XPFALL, "LIB3DS_MAT_USE_XPFALL"},
91 {LIB3DS_MAT_REFBLUR, "LIB3DS_MAT_REFBLUR"},
92 {LIB3DS_MAT_SHADING, "LIB3DS_MAT_SHADING"},
93 {LIB3DS_MAT_USE_REFBLUR, "LIB3DS_MAT_USE_REFBLUR"},
94 {LIB3DS_MAT_SELF_ILLUM, "LIB3DS_MAT_SELF_ILLUM"},
95 {LIB3DS_MAT_TWO_SIDE, "LIB3DS_MAT_TWO_SIDE"},
96 {LIB3DS_MAT_DECAL, "LIB3DS_MAT_DECAL"},
97 {LIB3DS_MAT_ADDITIVE, "LIB3DS_MAT_ADDITIVE"},
98 {LIB3DS_MAT_SELF_ILPCT, "LIB3DS_MAT_SELF_ILPCT"},
99 {LIB3DS_MAT_WIRE, "LIB3DS_MAT_WIRE"},
100 {LIB3DS_MAT_FACEMAP, "LIB3DS_MAT_FACEMAP"},
101 {LIB3DS_MAT_PHONGSOFT, "LIB3DS_MAT_PHONGSOFT"},
102 {LIB3DS_MAT_WIREABS, "LIB3DS_MAT_WIREABS"},
103 {LIB3DS_MAT_WIRE_SIZE, "LIB3DS_MAT_WIRE_SIZE"},
104 {LIB3DS_MAT_TEXMAP, "LIB3DS_MAT_TEXMAP"},
105 {LIB3DS_MAT_SXP_TEXT_DATA, "LIB3DS_MAT_SXP_TEXT_DATA"},
106 {LIB3DS_MAT_TEXMASK, "LIB3DS_MAT_TEXMASK"},
107 {LIB3DS_MAT_SXP_TEXTMASK_DATA, "LIB3DS_MAT_SXP_TEXTMASK_DATA"},
108 {LIB3DS_MAT_TEX2MAP, "LIB3DS_MAT_TEX2MAP"},
109 {LIB3DS_MAT_SXP_TEXT2_DATA, "LIB3DS_MAT_SXP_TEXT2_DATA"},
110 {LIB3DS_MAT_TEX2MASK, "LIB3DS_MAT_TEX2MASK"},
111 {LIB3DS_MAT_SXP_TEXT2MASK_DATA, "LIB3DS_MAT_SXP_TEXT2MASK_DATA"},
112 {LIB3DS_MAT_OPACMAP, "LIB3DS_MAT_OPACMAP"},
113 {LIB3DS_MAT_SXP_OPAC_DATA, "LIB3DS_MAT_SXP_OPAC_DATA"},
114 {LIB3DS_MAT_OPACMASK, "LIB3DS_MAT_OPACMASK"},
115 {LIB3DS_MAT_SXP_OPACMASK_DATA, "LIB3DS_MAT_SXP_OPACMASK_DATA"},
116 {LIB3DS_MAT_BUMPMAP, "LIB3DS_MAT_BUMPMAP"},
117 {LIB3DS_MAT_SXP_BUMP_DATA, "LIB3DS_MAT_SXP_BUMP_DATA"},
118 {LIB3DS_MAT_BUMPMASK, "LIB3DS_MAT_BUMPMASK"},
119 {LIB3DS_MAT_SXP_BUMPMASK_DATA, "LIB3DS_MAT_SXP_BUMPMASK_DATA"},
120 {LIB3DS_MAT_SPECMAP, "LIB3DS_MAT_SPECMAP"},
121 {LIB3DS_MAT_SXP_SPEC_DATA, "LIB3DS_MAT_SXP_SPEC_DATA"},
122 {LIB3DS_MAT_SPECMASK, "LIB3DS_MAT_SPECMASK"},
123 {LIB3DS_MAT_SXP_SPECMASK_DATA, "LIB3DS_MAT_SXP_SPECMASK_DATA"},
124 {LIB3DS_MAT_SHINMAP, "LIB3DS_MAT_SHINMAP"},
125 {LIB3DS_MAT_SXP_SHIN_DATA, "LIB3DS_MAT_SXP_SHIN_DATA"},
126 {LIB3DS_MAT_SHINMASK, "LIB3DS_MAT_SHINMASK"},
127 {LIB3DS_MAT_SXP_SHINMASK_DATA, "LIB3DS_MAT_SXP_SHINMASK_DATA"},
128 {LIB3DS_MAT_SELFIMAP, "LIB3DS_MAT_SELFIMAP"},
129 {LIB3DS_MAT_SXP_SELFI_DATA, "LIB3DS_MAT_SXP_SELFI_DATA"},
130 {LIB3DS_MAT_SELFIMASK, "LIB3DS_MAT_SELFIMASK"},
131 {LIB3DS_MAT_SXP_SELFIMASK_DATA, "LIB3DS_MAT_SXP_SELFIMASK_DATA"},
132 {LIB3DS_MAT_REFLMAP, "LIB3DS_MAT_REFLMAP"},
133 {LIB3DS_MAT_REFLMASK, "LIB3DS_MAT_REFLMASK"},
134 {LIB3DS_MAT_SXP_REFLMASK_DATA, "LIB3DS_MAT_SXP_REFLMASK_DATA"},
135 {LIB3DS_MAT_ACUBIC, "LIB3DS_MAT_ACUBIC"},
136 {LIB3DS_MAT_MAPNAME, "LIB3DS_MAT_MAPNAME"},
137 {LIB3DS_MAT_MAP_TILING, "LIB3DS_MAT_MAP_TILING"},
138 {LIB3DS_MAT_MAP_TEXBLUR, "LIB3DS_MAT_MAP_TEXBLUR"},
139 {LIB3DS_MAT_MAP_USCALE, "LIB3DS_MAT_MAP_USCALE"},
140 {LIB3DS_MAT_MAP_VSCALE, "LIB3DS_MAT_MAP_VSCALE"},
141 {LIB3DS_MAT_MAP_UOFFSET, "LIB3DS_MAT_MAP_UOFFSET"},
142 {LIB3DS_MAT_MAP_VOFFSET, "LIB3DS_MAT_MAP_VOFFSET"},
143 {LIB3DS_MAT_MAP_ANG, "LIB3DS_MAT_MAP_ANG"},
144 {LIB3DS_MAT_MAP_COL1, "LIB3DS_MAT_MAP_COL1"},
145 {LIB3DS_MAT_MAP_COL2, "LIB3DS_MAT_MAP_COL2"},
146 {LIB3DS_MAT_MAP_RCOL, "LIB3DS_MAT_MAP_RCOL"},
147 {LIB3DS_MAT_MAP_GCOL, "LIB3DS_MAT_MAP_GCOL"},
148 {LIB3DS_MAT_MAP_BCOL, "LIB3DS_MAT_MAP_BCOL"},
149 {LIB3DS_NAMED_OBJECT, "LIB3DS_NAMED_OBJECT"},
150 {LIB3DS_N_DIRECT_LIGHT, "LIB3DS_N_DIRECT_LIGHT"},
151 {LIB3DS_DL_OFF, "LIB3DS_DL_OFF"},
152 {LIB3DS_DL_OUTER_RANGE, "LIB3DS_DL_OUTER_RANGE"},
153 {LIB3DS_DL_INNER_RANGE, "LIB3DS_DL_INNER_RANGE"},
154 {LIB3DS_DL_MULTIPLIER, "LIB3DS_DL_MULTIPLIER"},
155 {LIB3DS_DL_EXCLUDE, "LIB3DS_DL_EXCLUDE"},
156 {LIB3DS_DL_ATTENUATE, "LIB3DS_DL_ATTENUATE"},
157 {LIB3DS_DL_SPOTLIGHT, "LIB3DS_DL_SPOTLIGHT"},
158 {LIB3DS_DL_SPOT_ROLL, "LIB3DS_DL_SPOT_ROLL"},
159 {LIB3DS_DL_SHADOWED, "LIB3DS_DL_SHADOWED"},
160 {LIB3DS_DL_LOCAL_SHADOW2, "LIB3DS_DL_LOCAL_SHADOW2"},
161 {LIB3DS_DL_SEE_CONE, "LIB3DS_DL_SEE_CONE"},
162 {LIB3DS_DL_SPOT_RECTANGULAR, "LIB3DS_DL_SPOT_RECTANGULAR"},
163 {LIB3DS_DL_SPOT_ASPECT, "LIB3DS_DL_SPOT_ASPECT"},
164 {LIB3DS_DL_SPOT_PROJECTOR, "LIB3DS_DL_SPOT_PROJECTOR"},
165 {LIB3DS_DL_SPOT_OVERSHOOT, "LIB3DS_DL_SPOT_OVERSHOOT"},
166 {LIB3DS_DL_RAY_BIAS, "LIB3DS_DL_RAY_BIAS"},
167 {LIB3DS_DL_RAYSHAD, "LIB3DS_DL_RAYSHAD"},
168 {LIB3DS_N_CAMERA, "LIB3DS_N_CAMERA"},
169 {LIB3DS_CAM_SEE_CONE, "LIB3DS_CAM_SEE_CONE"},
170 {LIB3DS_CAM_RANGES, "LIB3DS_CAM_RANGES"},
171 {LIB3DS_OBJ_HIDDEN, "LIB3DS_OBJ_HIDDEN"},
172 {LIB3DS_OBJ_VIS_LOFTER, "LIB3DS_OBJ_VIS_LOFTER"},
173 {LIB3DS_OBJ_DOESNT_CAST, "LIB3DS_OBJ_DOESNT_CAST"},
174 {LIB3DS_OBJ_DONT_RECVSHADOW, "LIB3DS_OBJ_DONT_RECVSHADOW"},
175 {LIB3DS_OBJ_MATTE, "LIB3DS_OBJ_MATTE"},
176 {LIB3DS_OBJ_FAST, "LIB3DS_OBJ_FAST"},
177 {LIB3DS_OBJ_PROCEDURAL, "LIB3DS_OBJ_PROCEDURAL"},
178 {LIB3DS_OBJ_FROZEN, "LIB3DS_OBJ_FROZEN"},
179 {LIB3DS_N_TRI_OBJECT, "LIB3DS_N_TRI_OBJECT"},
180 {LIB3DS_POINT_ARRAY, "LIB3DS_POINT_ARRAY"},
181 {LIB3DS_POINT_FLAG_ARRAY, "LIB3DS_POINT_FLAG_ARRAY"},
182 {LIB3DS_FACE_ARRAY, "LIB3DS_FACE_ARRAY"},
183 {LIB3DS_MSH_MAT_GROUP, "LIB3DS_MSH_MAT_GROUP"},
184 {LIB3DS_SMOOTH_GROUP, "LIB3DS_SMOOTH_GROUP"},
185 {LIB3DS_MSH_BOXMAP, "LIB3DS_MSH_BOXMAP"},
186 {LIB3DS_TEX_VERTS, "LIB3DS_TEX_VERTS"},
187 {LIB3DS_MESH_MATRIX, "LIB3DS_MESH_MATRIX"},
188 {LIB3DS_MESH_COLOR, "LIB3DS_MESH_COLOR"},
189 {LIB3DS_MESH_TEXTURE_INFO, "LIB3DS_MESH_TEXTURE_INFO"},
190 {LIB3DS_KFDATA, "LIB3DS_KFDATA"},
191 {LIB3DS_KFHDR, "LIB3DS_KFHDR"},
192 {LIB3DS_KFSEG, "LIB3DS_KFSEG"},
193 {LIB3DS_KFCURTIME, "LIB3DS_KFCURTIME"},
194 {LIB3DS_AMBIENT_NODE_TAG, "LIB3DS_AMBIENT_NODE_TAG"},
195 {LIB3DS_OBJECT_NODE_TAG, "LIB3DS_OBJECT_NODE_TAG"},
196 {LIB3DS_CAMERA_NODE_TAG, "LIB3DS_CAMERA_NODE_TAG"},
197 {LIB3DS_TARGET_NODE_TAG, "LIB3DS_TARGET_NODE_TAG"},
198 {LIB3DS_LIGHT_NODE_TAG, "LIB3DS_LIGHT_NODE_TAG"},
199 {LIB3DS_L_TARGET_NODE_TAG, "LIB3DS_L_TARGET_NODE_TAG"},
200 {LIB3DS_SPOTLIGHT_NODE_TAG, "LIB3DS_SPOTLIGHT_NODE_TAG"},
201 {LIB3DS_NODE_ID, "LIB3DS_NODE_ID"},
202 {LIB3DS_NODE_HDR, "LIB3DS_NODE_HDR"},
203 {LIB3DS_PIVOT, "LIB3DS_PIVOT"},
204 {LIB3DS_INSTANCE_NAME, "LIB3DS_INSTANCE_NAME"},
205 {LIB3DS_MORPH_SMOOTH, "LIB3DS_MORPH_SMOOTH"},
206 {LIB3DS_BOUNDBOX, "LIB3DS_BOUNDBOX"},
207 {LIB3DS_POS_TRACK_TAG, "LIB3DS_POS_TRACK_TAG"},
208 {LIB3DS_COL_TRACK_TAG, "LIB3DS_COL_TRACK_TAG"},
209 {LIB3DS_ROT_TRACK_TAG, "LIB3DS_ROT_TRACK_TAG"},
210 {LIB3DS_SCL_TRACK_TAG, "LIB3DS_SCL_TRACK_TAG"},
211 {LIB3DS_MORPH_TRACK_TAG, "LIB3DS_MORPH_TRACK_TAG"},
212 {LIB3DS_FOV_TRACK_TAG, "LIB3DS_FOV_TRACK_TAG"},
213 {LIB3DS_ROLL_TRACK_TAG, "LIB3DS_ROLL_TRACK_TAG"},
214 {LIB3DS_HOT_TRACK_TAG, "LIB3DS_HOT_TRACK_TAG"},
215 {LIB3DS_FALL_TRACK_TAG, "LIB3DS_FALL_TRACK_TAG"},
216 {LIB3DS_HIDE_TRACK_TAG, "LIB3DS_HIDE_TRACK_TAG"},
217 {LIB3DS_POLY_2D, "LIB3DS_POLY_2D"},
218 {LIB3DS_SHAPE_OK, "LIB3DS_SHAPE_OK"},
219 {LIB3DS_SHAPE_NOT_OK, "LIB3DS_SHAPE_NOT_OK"},
220 {LIB3DS_SHAPE_HOOK, "LIB3DS_SHAPE_HOOK"},
221 {LIB3DS_PATH_3D, "LIB3DS_PATH_3D"},
222 {LIB3DS_PATH_MATRIX, "LIB3DS_PATH_MATRIX"},
223 {LIB3DS_SHAPE_2D, "LIB3DS_SHAPE_2D"},
224 {LIB3DS_M_SCALE, "LIB3DS_M_SCALE"},
225 {LIB3DS_M_TWIST, "LIB3DS_M_TWIST"},
226 {LIB3DS_M_TEETER, "LIB3DS_M_TEETER"},
227 {LIB3DS_M_FIT, "LIB3DS_M_FIT"},
228 {LIB3DS_M_BEVEL, "LIB3DS_M_BEVEL"},
229 {LIB3DS_XZ_CURVE, "LIB3DS_XZ_CURVE"},
230 {LIB3DS_YZ_CURVE, "LIB3DS_YZ_CURVE"},
231 {LIB3DS_INTERPCT, "LIB3DS_INTERPCT"},
232 {LIB3DS_DEFORM_LIMIT, "LIB3DS_DEFORM_LIMIT"},
233 {LIB3DS_USE_CONTOUR, "LIB3DS_USE_CONTOUR"},
234 {LIB3DS_USE_TWEEN, "LIB3DS_USE_TWEEN"},
235 {LIB3DS_USE_SCALE, "LIB3DS_USE_SCALE"},
236 {LIB3DS_USE_TWIST, "LIB3DS_USE_TWIST"},
237 {LIB3DS_USE_TEETER, "LIB3DS_USE_TEETER"},
238 {LIB3DS_USE_FIT, "LIB3DS_USE_FIT"},
239 {LIB3DS_USE_BEVEL, "LIB3DS_USE_BEVEL"},
240 {LIB3DS_DEFAULT_VIEW, "LIB3DS_DEFAULT_VIEW"},
241 {LIB3DS_VIEW_TOP, "LIB3DS_VIEW_TOP"},
242 {LIB3DS_VIEW_BOTTOM, "LIB3DS_VIEW_BOTTOM"},
243 {LIB3DS_VIEW_LEFT, "LIB3DS_VIEW_LEFT"},
244 {LIB3DS_VIEW_RIGHT, "LIB3DS_VIEW_RIGHT"},
245 {LIB3DS_VIEW_FRONT, "LIB3DS_VIEW_FRONT"},
246 {LIB3DS_VIEW_BACK, "LIB3DS_VIEW_BACK"},
247 {LIB3DS_VIEW_USER, "LIB3DS_VIEW_USER"},
248 {LIB3DS_VIEW_CAMERA, "LIB3DS_VIEW_CAMERA"},
249 {LIB3DS_VIEW_WINDOW, "LIB3DS_VIEW_WINDOW"},
250 {LIB3DS_VIEWPORT_LAYOUT_OLD, "LIB3DS_VIEWPORT_LAYOUT_OLD"},
251 {LIB3DS_VIEWPORT_DATA_OLD, "LIB3DS_VIEWPORT_DATA_OLD"},
252 {LIB3DS_VIEWPORT_LAYOUT, "LIB3DS_VIEWPORT_LAYOUT"},
253 {LIB3DS_VIEWPORT_DATA, "LIB3DS_VIEWPORT_DATA"},
254 {LIB3DS_VIEWPORT_DATA_3, "LIB3DS_VIEWPORT_DATA_3"},
255 {LIB3DS_VIEWPORT_SIZE, "LIB3DS_VIEWPORT_SIZE"},
256 {LIB3DS_NETWORK_VIEW, "LIB3DS_NETWORK_VIEW"},