Subversion Repositories Kolibri OS

Rev

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