Subversion Repositories Kolibri OS

Rev

Rev 6081 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. ;
  2. ; здесь собраны данные по блокам *.3ds
  3. ;
  4.  
  5. MAX_FILE_LEVEL equ 20 ;максимальный уровень вложенности блоков для анализа
  6.  
  7. sizeof.block_3ds equ 9
  8. can_save db 0 ;изменялся ли файл
  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
  52. block_3ds 0x0100,3,1,txt_0100
  53. block_3ds CHUNK_ambient_color,3,0,txt_2100 ; [-] ambient color
  54. block_3ds CHUNK_OBJMESH, 3,0,txt_3d3d
  55. block_3ds CHUNK_OBJBLOCK,11,1,txt_4000
  56. block_3ds CHUNK_TRIMESH, 3,0,txt_4100
  57. block_3ds CHUNK_VERTLIST,8,1,txt_4110
  58. block_3ds CHUNK_FACELIST,3,1,txt_4120
  59. block_3ds CHUNK_FACEMAT,10,1,txt_4130
  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
  64. block_3ds CHUNK_MATERIAL,10,0,txt_afff
  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
  69. block_3ds 0xa100,5,1,txt_a100
  70. block_3ds CHUNK_TEXTURE, 3,0,txt_a200
  71. block_3ds CHUNK_MAPFILE, 6,1,txt_a300
  72. block_3ds CHUNK_KEYFRAMER,   7,0,txt_b000
  73. block_3ds CHUNK_TRACKINFO,   3,0,txt_b002
  74. block_3ds CHUNK_TRACKOBJNAME,3,1,txt_b010
  75. block_3ds 0xb011,3,1,txt_b011
  76. block_3ds CHUNK_TRACKPIVOT,  3,1,txt_b013
  77. block_3ds 0xb014,3,1,txt_b014
  78. block_3ds CHUNK_TRACKPOS,    3,1,txt_b020
  79. block_3ds CHUNK_TRACKROTATE, 3,1,txt_b021
  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
  84.  
  85. ;--- далее не во всех блоках смог найти описание на русском языке
  86. block_3ds 0x4111, 3,1,txt_4111
  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
  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
  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
  149. txt_a100 db 'Тип материала [1=flat 2=gouraud 3=phong 4=metal]',0
  150. txt_a200 db 'Текстура материала 1',0
  151. txt_a300 db 'Имя файла текстуры',0
  152. ;txt_a353 db 'MAT_MAP_TEXBLUR',0
  153. txt_afff db 'Материал',0
  154. txt_b000 db 'Информация об анимации',0
  155. txt_b002 db 'Поведение объекта',0
  156. ;txt_b009 db 'KFCURTIME',0
  157. ;txt_b00a db 'KFHDR',0
  158. txt_b010 db 'Название объекта',0
  159. txt_b011 db 'Имя экземпляра',0
  160. txt_b013 db 'Центр вращения объекта',0
  161. txt_b014 db 'Bound box',0
  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. ;--- далее не во всех блоках смог найти описание на русском языке
  170. txt_4111 db 'Флаги вершин',0
  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
  209.  
  210. txt_not_delete db 'Не могу удалить выбранный блок. Он защищен.',0
  211. else
  212.  
  213. txt_0002 db '3ds version',0
  214. txt_0011 db 'Color rgb (byte format)',0
  215. txt_0100 db 'Master scale',0
  216. txt_2100 db 'Ambient color',0
  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
  231. txt_a100 db 'Material type [1=flat 2=gouraud 3=phong 4=metal]',0
  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
  238. txt_b011 db 'Instance name',0
  239. txt_b013 db 'Object pivot point',0
  240. txt_b014 db 'Bound box',0
  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. ;---
  249. txt_4111 db 'Vertex flags',0
  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
  288.  
  289. txt_not_delete db 'I can not delete the selected chunk. It is protected.',0
  290. end if
  291.  
  292. if lang eq ru
  293. txt_open_3ds db 'Открыт файл:',0
  294. txt_no_3ds: db 'Открытый файл не в формате *.3ds ',39
  295.         .zag: rb 8
  296.         db 39,0
  297. txt_3ds_err_sizes db 'Возможно файл поврежден',0
  298. txt_count db 'Количество',0
  299. txt_3ds_offs:
  300.         db 'Смещение: '
  301.         .dig: rb 8
  302.         db '  Размер: '
  303.         .siz: rb 8
  304.         db 0
  305. txt_mat_null db 'Материалы не найдены',0
  306. else
  307. txt_open_3ds db 'Open file:',0
  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
  312. txt_count db 'Count',0
  313. txt_3ds_offs:
  314.         db 'Offset: '
  315.         .dig: rb 8
  316.         db '  Size: '
  317.         .siz: rb 8
  318.         db 0
  319. txt_mat_null db 'No materials found',0
  320. end if