Subversion Repositories Kolibri OS

Rev

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