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