Rev 6081 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
5938 | IgorA | 1 | ; |
2 | ; здесь собраны данные по блокам *.3ds |
||
3 | ; |
||
2107 | IgorA | 4 | |
5 | MAX_FILE_LEVEL equ 20 ;максимальный уровень вложенности блоков для анализа |
||
6 | |||
7 | sizeof.block_3ds equ 9 |
||
2173 | IgorA | 8 | can_save db 0 ;изменялся ли файл |
2107 | IgorA | 9 | |
10 | macro block_3ds id,icon,par,caption |
||
11 | { |
||
12 | dw id ;+0 идентификатор блока в файле 3ds |
||
13 | dw icon ;+2 номер иконки для блока |
||
14 | db par ;+4 содержит ли блок подблоки (0-да 1-нет) |
||
15 | dd caption+0 ;+5 описание блока |
||
16 | } |
||
17 | |||
18 | CHUNK_MAIN equ 0x4D4D ; [-] сцена |
||
19 | CHUNK_ambient_color equ 0x2100 ; [-] ambient color |
||
20 | CHUNK_OBJMESH equ 0x3D3D ; [-] набор объектов |
||
21 | CHUNK_OBJBLOCK equ 0x4000 ; [+] объект |
||
22 | CHUNK_TRIMESH equ 0x4100 ; [-] trimesh-объект |
||
23 | CHUNK_VERTLIST equ 0x4110 ; [+] список вершин |
||
24 | CHUNK_FACELIST equ 0x4120 ; [+] список граней |
||
25 | CHUNK_FACEMAT equ 0x4130 ; [+] материалы граней |
||
26 | CHUNK_MAPLIST equ 0x4140 ; [+] текстурные координаты |
||
27 | CHUNK_TRMATRIX equ 0x4160 ; [+] матрица перевода |
||
28 | CHUNK_CAMERA equ 0x4700 ; [+] объект-камера |
||
29 | CHUNK_MATERIAL equ 0xAFFF ; [-] материал |
||
30 | CHUNK_MATNAME equ 0xA000 ; [+] название материала |
||
31 | CHUNK_TEXTURE equ 0xA200 ; [-] текстура материала |
||
32 | CHUNK_MAPFILE equ 0xA300 ; [+] имя файла текстуры |
||
33 | CHUNK_KEYFRAMER equ 0xB000 ; [-] информация об анимации |
||
34 | CHUNK_TRACKINFO equ 0xB002 ; [-] поведение объекта |
||
35 | CHUNK_TRACKOBJNAME equ 0xB010 ; [+] название этого объекта |
||
36 | CHUNK_TRACKPIVOT equ 0xB013 ; [+] центр вращения объекта |
||
37 | CHUNK_TRACKPOS equ 0xB020 ; [+] траектория объекта |
||
38 | CHUNK_TRACKROTATE equ 0xB021 ; [+] траектория вращения объекта |
||
39 | CHUNK_TRACKCAMERA equ 0xB003 ; [-] поведение камеры |
||
40 | CHUNK_TRACKFOV equ 0xB023 ; [+] поведение fov камеры |
||
41 | CHUNK_TRACKROLL equ 0xB024 ; [+] поведение roll камеры |
||
42 | CHUNK_TRACKCAMTGT equ 0xB004 ; [-] поведение "цели" камеры |
||
43 | |||
44 | ;данные содержат лишь блоки, отмеченные плюсом, остальные блоки |
||
45 | ; состоят лишь из подблоков |
||
46 | |||
47 | align 4 |
||
48 | type_bloks: |
||
49 | block_3ds 0x0002,5,1,txt_0002 |
||
50 | block_3ds 0x3d3e,5,1 ; [+] mesh version |
||
51 | block_3ds 0x0011,4,1,txt_0011 |
||
4332 | IgorA | 52 | block_3ds 0x0100,3,1,txt_0100 |
53 | block_3ds CHUNK_ambient_color,3,0,txt_2100 ; [-] ambient color |
||
2107 | IgorA | 54 | block_3ds CHUNK_OBJMESH, 3,0,txt_3d3d |
6081 | IgorA | 55 | block_3ds CHUNK_OBJBLOCK,11,1,txt_4000 |
2107 | IgorA | 56 | block_3ds CHUNK_TRIMESH, 3,0,txt_4100 |
6081 | IgorA | 57 | block_3ds CHUNK_VERTLIST,8,1,txt_4110 |
2107 | IgorA | 58 | block_3ds CHUNK_FACELIST,3,1,txt_4120 |
6081 | IgorA | 59 | block_3ds CHUNK_FACEMAT,10,1,txt_4130 |
2107 | IgorA | 60 | block_3ds CHUNK_MAPLIST, 3,1,txt_4140 |
61 | block_3ds CHUNK_TRMATRIX,3,1,txt_4160 |
||
62 | block_3ds 0x4600,3,1,txt_4600 |
||
63 | block_3ds CHUNK_CAMERA, 3,1,txt_4700 |
||
6081 | IgorA | 64 | block_3ds CHUNK_MATERIAL,10,0,txt_afff |
2107 | IgorA | 65 | block_3ds CHUNK_MATNAME, 3,1,txt_a000 |
66 | block_3ds 0xa010,4,0,txt_a010 |
||
67 | block_3ds 0xa020,4,0,txt_a020 |
||
68 | block_3ds 0xa030,4,0,txt_a030 |
||
5935 | IgorA | 69 | block_3ds 0xa100,5,1,txt_a100 |
2107 | IgorA | 70 | block_3ds CHUNK_TEXTURE, 3,0,txt_a200 |
71 | block_3ds CHUNK_MAPFILE, 6,1,txt_a300 |
||
4332 | IgorA | 72 | block_3ds CHUNK_KEYFRAMER, 7,0,txt_b000 |
2107 | IgorA | 73 | block_3ds CHUNK_TRACKINFO, 3,0,txt_b002 |
74 | block_3ds CHUNK_TRACKOBJNAME,3,1,txt_b010 |
||
4332 | IgorA | 75 | block_3ds 0xb011,3,1,txt_b011 |
2107 | IgorA | 76 | block_3ds CHUNK_TRACKPIVOT, 3,1,txt_b013 |
4332 | IgorA | 77 | block_3ds 0xb014,3,1,txt_b014 |
2107 | IgorA | 78 | block_3ds CHUNK_TRACKPOS, 3,1,txt_b020 |
79 | block_3ds CHUNK_TRACKROTATE, 3,1,txt_b021 |
||
4332 | IgorA | 80 | block_3ds CHUNK_TRACKCAMERA, 7,0,txt_b003 |
81 | block_3ds CHUNK_TRACKFOV, 7,1,txt_b023 |
||
82 | block_3ds CHUNK_TRACKROLL, 7,1,txt_b024 |
||
83 | block_3ds CHUNK_TRACKCAMTGT, 7,0,txt_b004 |
||
2107 | IgorA | 84 | |
85 | ;--- далее не во всех блоках смог найти описание на русском языке |
||
2125 | IgorA | 86 | block_3ds 0x4111, 3,1,txt_4111 |
2107 | IgorA | 87 | block_3ds 0x4150, 3,1,txt_4150 |
88 | block_3ds 0x4165, 3,1,txt_4165 |
||
89 | block_3ds 0x4610, 3,1,txt_4610 |
||
90 | block_3ds 0x4627, 3,1,txt_4627 |
||
91 | block_3ds 0x4630, 3,1,txt_4630 |
||
92 | block_3ds 0x4641, 3,1,txt_4641 |
||
93 | block_3ds 0x4650, 3,1,txt_4650 |
||
94 | block_3ds 0x4651, 3,1,txt_4651 |
||
95 | block_3ds 0x4652, 3,1,txt_4652 |
||
96 | block_3ds 0x4653, 3,1,txt_4653 |
||
97 | block_3ds 0x4656, 3,1,txt_4656 |
||
98 | block_3ds 0x4658, 3,1,txt_4658 |
||
99 | block_3ds 0x4620, 3,1,txt_4620 |
||
100 | block_3ds 0x4625, 3,1,txt_4625 |
||
101 | block_3ds 0x4659, 3,1,txt_4659 |
||
102 | block_3ds 0x465a, 3,1,txt_465a |
||
103 | block_3ds 0x465b, 3,1,txt_465b |
||
104 | block_3ds 0xa230, 3,1,txt_a230 |
||
105 | block_3ds 0xa220, 3,1,txt_a220 |
||
106 | block_3ds 0xa351, 3,1,txt_a351 |
||
107 | block_3ds 0xb007, 3,1,txt_b007 |
||
108 | block_3ds 0xb008, 3,1,txt_b008 |
||
109 | block_3ds 0xb022, 3,1,txt_b022 |
||
110 | block_3ds 0xb030, 3,1,txt_b030 |
||
111 | block_3ds 0xa040, 3,1,txt_a040 |
||
112 | block_3ds 0xa041, 3,1,txt_a041 |
||
113 | block_3ds 0xa050, 3,1,txt_a050 |
||
114 | block_3ds 0xa052, 3,1,txt_a052 |
||
115 | block_3ds 0xa053, 3,1,txt_a053 |
||
116 | block_3ds 0xa081, 3,1,txt_a081 |
||
117 | block_3ds 0xa083, 3,1,txt_a083 |
||
118 | block_3ds 0xa084, 3,1,txt_a084 |
||
119 | block_3ds 0xa085, 3,1,txt_a085 |
||
120 | block_3ds 0xa087, 3,1,txt_a087 |
||
121 | block_3ds 0xa088, 3,1,txt_a088 |
||
122 | block_3ds 0xa08a, 3,1,txt_a08a |
||
123 | block_3ds 0xa08c, 3,1,txt_a08c |
||
124 | block_3ds 0xa08e, 3,1,txt_a08e |
||
125 | .end: |
||
126 | |||
127 | if lang eq ru |
||
128 | txt_0002 db '3ds версия',0 |
||
129 | txt_0011 db 'Цвет rgb (байтовый формат)',0 |
||
4332 | IgorA | 130 | ;txt_0012 db 'LIN_COLOR_24',0 |
131 | ;txt_0030 db 'Percentage value (int)',0 |
||
132 | ;txt_0031 db 'Percentage value (float)',0 |
||
133 | txt_0100 db 'Master scale',0 |
||
134 | txt_2100 db 'Цвет окружающей среды',0 |
||
2107 | IgorA | 135 | txt_3d3d db 'Набор объектов',0 |
136 | txt_4000 db 'Объект (с именем)',0 |
||
137 | txt_4100 db 'Треугольные сетки',0 |
||
138 | txt_4110 db 'Список вершин',0 |
||
139 | txt_4120 db 'Список граней',0 |
||
140 | txt_4130 db 'Материалы граней',0 |
||
141 | txt_4140 db 'Текстурные координаты',0 |
||
142 | txt_4160 db 'Матрица перевода',0 |
||
143 | txt_4600 db 'Свет',0 |
||
144 | txt_4700 db 'Камера',0 |
||
145 | txt_a000 db 'Название материала',0 |
||
146 | txt_a010 db 'Окружающий цвет',0 |
||
147 | txt_a020 db 'Диффузный цвет',0 |
||
148 | txt_a030 db 'Зеркальный цвет',0 |
||
5935 | IgorA | 149 | txt_a100 db 'Тип материала [1=flat 2=gouraud 3=phong 4=metal]',0 |
2107 | IgorA | 150 | txt_a200 db 'Текстура материала 1',0 |
151 | txt_a300 db 'Имя файла текстуры',0 |
||
4332 | IgorA | 152 | ;txt_a353 db 'MAT_MAP_TEXBLUR',0 |
2107 | IgorA | 153 | txt_afff db 'Материал',0 |
154 | txt_b000 db 'Информация об анимации',0 |
||
155 | txt_b002 db 'Поведение объекта',0 |
||
4332 | IgorA | 156 | ;txt_b009 db 'KFCURTIME',0 |
157 | ;txt_b00a db 'KFHDR',0 |
||
2107 | IgorA | 158 | txt_b010 db 'Название объекта',0 |
4332 | IgorA | 159 | txt_b011 db 'Имя экземпляра',0 |
2107 | IgorA | 160 | txt_b013 db 'Центр вращения объекта',0 |
4332 | IgorA | 161 | txt_b014 db 'Bound box',0 |
2107 | IgorA | 162 | txt_b020 db 'Траектория движения',0 |
163 | txt_b021 db 'Траектория вращения',0 |
||
164 | txt_b003 db 'Поведение камеры',0 |
||
165 | txt_b023 db 'Поведение fov камеры',0 |
||
166 | txt_b024 db 'Поведение roll камеры',0 |
||
167 | txt_b004 db 'Поведение "цели" камеры',0 |
||
168 | |||
169 | ;--- далее не во всех блоках смог найти описание на русском языке |
||
2125 | IgorA | 170 | txt_4111 db 'Флаги вершин',0 |
2107 | IgorA | 171 | txt_4150 db 'Smoothing group list',0 |
172 | txt_4165 db 'Object color in editor',0 |
||
173 | txt_4610 db 'Направленный свет',0 |
||
174 | txt_4627 db 'Spot raytrace',0 |
||
175 | txt_4630 db 'Light shadowed',0 |
||
176 | txt_4641 db 'Spot shadow map',0 |
||
177 | txt_4650 db 'Spot show cone',0 |
||
178 | txt_4651 db 'Spot is rectangular',0 |
||
179 | txt_4652 db 'Spot overshoot',0 |
||
180 | txt_4653 db 'Spot map',0 |
||
181 | txt_4656 db 'Spot roll',0 |
||
182 | txt_4658 db 'Spot ray trace bias',0 |
||
183 | txt_4620 db 'Light off',0 |
||
184 | txt_4625 db 'Attenuation on',0 |
||
185 | txt_4659 db 'Range start',0 |
||
186 | txt_465a db 'Range end',0 |
||
187 | txt_465b db 'Multiplier',0 |
||
188 | txt_a230 db 'Разметка рельефа',0 |
||
189 | txt_a220 db 'Разметка отражения',0 |
||
190 | txt_a351 db 'Параметры разметки',0 |
||
191 | txt_b007 db 'Информация о направленом освещении',0 |
||
192 | txt_b008 db 'Кадры (начальный и конечный)',0 |
||
193 | txt_b022 db 'Масштабирование',0 |
||
194 | txt_b030 db 'Позиция в иерархии',0 |
||
195 | txt_a040 db 'Shininess percent',0 |
||
196 | txt_a041 db 'Shininess strength percent',0 |
||
197 | txt_a050 db 'Transparency percent',0 |
||
198 | txt_a052 db 'Transparency falloff percent',0 |
||
199 | txt_a053 db 'Reflection blur percent',0 |
||
200 | txt_a081 db '2 sided',0 |
||
201 | txt_a083 db 'Add trans',0 |
||
202 | txt_a084 db 'Self illum',0 |
||
203 | txt_a085 db 'Wire frame on',0 |
||
204 | txt_a087 db 'Wire thickness',0 |
||
205 | txt_a088 db 'Face map',0 |
||
206 | txt_a08a db 'In tranc',0 |
||
207 | txt_a08c db 'Soften',0 |
||
208 | txt_a08e db 'Wire in units',0 |
||
4332 | IgorA | 209 | |
210 | txt_not_delete db 'Не могу удалить выбранный блок. Он защищен.',0 |
||
2107 | IgorA | 211 | else |
212 | |||
213 | txt_0002 db '3ds version',0 |
||
214 | txt_0011 db 'Color rgb (byte format)',0 |
||
4332 | IgorA | 215 | txt_0100 db 'Master scale',0 |
216 | txt_2100 db 'Ambient color',0 |
||
2107 | IgorA | 217 | txt_3d3d db 'Editor chunk',0 |
218 | txt_4000 db 'Object (with name)',0 |
||
219 | txt_4100 db 'Triangular mesh',0 |
||
220 | txt_4110 db 'Vertices list',0 |
||
221 | txt_4120 db 'Faces description',0 |
||
222 | txt_4130 db 'Faces material',0 |
||
223 | txt_4140 db 'Mapping coordinates list',0 |
||
224 | txt_4160 db 'Local coordinate system',0 |
||
225 | txt_4600 db 'Light',0 |
||
226 | txt_4700 db 'Camera',0 |
||
227 | txt_a000 db 'Material name',0 |
||
228 | txt_a010 db 'Ambient color',0 |
||
229 | txt_a020 db 'Diffuse color',0 |
||
230 | txt_a030 db 'Specular color',0 |
||
5935 | IgorA | 231 | txt_a100 db 'Material type [1=flat 2=gouraud 3=phong 4=metal]',0 |
2107 | IgorA | 232 | txt_a200 db 'Texture map 1',0 |
233 | txt_a300 db 'Mapping filename',0 |
||
234 | txt_afff db 'Meterial',0 |
||
235 | txt_b000 db 'Keyframer',0 |
||
236 | txt_b002 db 'Mesh information',0 |
||
237 | txt_b010 db 'Object name',0 |
||
4332 | IgorA | 238 | txt_b011 db 'Instance name',0 |
2107 | IgorA | 239 | txt_b013 db 'Object pivot point',0 |
4332 | IgorA | 240 | txt_b014 db 'Bound box',0 |
2107 | IgorA | 241 | txt_b020 db 'Position track',0 |
242 | txt_b021 db 'Rotation track',0 |
||
243 | txt_b003 db 'Camera information',0 |
||
244 | txt_b023 db 'Fov track',0 |
||
245 | txt_b024 db 'Roll track',0 |
||
246 | txt_b004 db 'Camera target information',0 |
||
247 | |||
248 | ;--- |
||
2125 | IgorA | 249 | txt_4111 db 'Vertex flags',0 |
2107 | IgorA | 250 | txt_4150 db 'Smoothing group list',0 |
251 | txt_4165 db 'Object color in editor',0 |
||
252 | txt_4610 db 'Spotlight',0 |
||
253 | txt_4627 db 'Spot raytrace',0 |
||
254 | txt_4630 db 'Light shadowed',0 |
||
255 | txt_4641 db 'Spot shadow map',0 |
||
256 | txt_4650 db 'Spot show cone',0 |
||
257 | txt_4651 db 'Spot is rectangular',0 |
||
258 | txt_4652 db 'Spot overshoot',0 |
||
259 | txt_4653 db 'Spot map',0 |
||
260 | txt_4656 db 'Spot roll',0 |
||
261 | txt_4658 db 'Spot ray trace bias',0 |
||
262 | txt_4620 db 'Light off',0 |
||
263 | txt_4625 db 'Attenuation on',0 |
||
264 | txt_4659 db 'Range start',0 |
||
265 | txt_465a db 'Range end',0 |
||
266 | txt_465b db 'Multiplier',0 |
||
267 | txt_a230 db 'Bump map',0 |
||
268 | txt_a220 db 'Reflection map',0 |
||
269 | txt_a351 db 'Mapping parameters',0 |
||
270 | txt_b007 db 'Spot light information',0 |
||
271 | txt_b008 db 'Frames (Start and End)',0 |
||
272 | txt_b022 db 'Scale track',0 |
||
273 | txt_b030 db 'Hierarchy position',0 |
||
274 | txt_a040 db 'Shininess percent',0 |
||
275 | txt_a041 db 'Shininess strength percent',0 |
||
276 | txt_a050 db 'Transparency percent',0 |
||
277 | txt_a052 db 'Transparency falloff percent',0 |
||
278 | txt_a053 db 'Reflection blur percent',0 |
||
279 | txt_a081 db '2 sided',0 |
||
280 | txt_a083 db 'Add trans',0 |
||
281 | txt_a084 db 'Self illum',0 |
||
282 | txt_a085 db 'Wire frame on',0 |
||
283 | txt_a087 db 'Wire thickness',0 |
||
284 | txt_a088 db 'Face map',0 |
||
285 | txt_a08a db 'In tranc',0 |
||
286 | txt_a08c db 'Soften',0 |
||
287 | txt_a08e db 'Wire in units',0 |
||
4332 | IgorA | 288 | |
289 | txt_not_delete db 'I can not delete the selected chunk. It is protected.',0 |
||
2107 | IgorA | 290 | end if |
291 | |||
292 | if lang eq ru |
||
293 | txt_open_3ds db 'Открыт файл:',0 |
||
7610 | IgorA | 294 | txt_no_3ds: db 'Открытый файл не в формате *.3ds ',39 |
295 | .zag: rb 8 |
||
296 | db 39,0 |
||
2107 | IgorA | 297 | txt_3ds_err_sizes db 'Возможно файл поврежден',0 |
2125 | IgorA | 298 | txt_count db 'Количество',0 |
2107 | IgorA | 299 | txt_3ds_offs: |
300 | db 'Смещение: ' |
||
301 | .dig: rb 8 |
||
2125 | IgorA | 302 | db ' Размер: ' |
303 | .siz: rb 8 |
||
2107 | IgorA | 304 | db 0 |
7610 | IgorA | 305 | txt_mat_null db 'Материалы не найдены',0 |
2107 | IgorA | 306 | else |
307 | txt_open_3ds db 'Open file:',0 |
||
7610 | IgorA | 308 | txt_no_3ds: db 'Open file not in format *.3ds ',39 |
309 | .zag: rb 8 |
||
310 | db 39,0 |
||
311 | txt_3ds_err_sizes db 'File may be corrupted',0 |
||
2125 | IgorA | 312 | txt_count db 'Count',0 |
2107 | IgorA | 313 | txt_3ds_offs: |
314 | db 'Offset: ' |
||
315 | .dig: rb 8 |
||
2125 | IgorA | 316 | db ' Size: ' |
317 | .siz: rb 8 |
||
2107 | IgorA | 318 | db 0 |
7610 | IgorA | 319 | txt_mat_null db 'No materials found',0 |
2107 | IgorA | 320 | end if |