Subversion Repositories Kolibri OS

Rev

Rev 5938 | Go to most recent revision | 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
294
txt_no_3ds db 'Открытый файл не в формате *.3ds',0
295
txt_3ds_err_sizes db 'Возможно файл поврежден',0
2125 IgorA 296
txt_count db 'Количество',0
2107 IgorA 297
txt_3ds_offs:
298
	db 'Смещение: '
299
	.dig: rb 8
2125 IgorA 300
	db '  Размер: '
301
	.siz: rb 8
2107 IgorA 302
	db 0
303
else
304
txt_open_3ds db 'Open file:',0
305
txt_no_3ds db 'Открытый файл не в формате *.3ds',0
306
txt_3ds_err_sizes db 'Возможно файл поврежден',0
2125 IgorA 307
txt_count db 'Count',0
2107 IgorA 308
txt_3ds_offs:
309
	db 'Offset: '
310
	.dig: rb 8
2125 IgorA 311
	db '  Size: '
312
	.siz: rb 8
2107 IgorA 313
	db 0
314
end if