Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 2106 → Rev 2107

/programs/develop/info3ds/info3ds.asm
20,7 → 20,6
debug equ 0
 
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
capt db 'info 3ds 20.08.11',0 ;¯®¤¯¨áì ®ª­ 
 
struct FileInfoBlock
Function dd ?
89,48 → 88,8
}
 
;--------------------------------------
sizeof.block_3ds equ 9
include 'data.inc'
 
macro block_3ds id,icon,par,caption
{
dw id ;+0 ¨¤¥­â¨ä¨ª â®à ¡«®ª  ¢ ä ©«¥ 3ds
dw icon ;+2 ­®¬¥à ¨ª®­ª¨ ¤«ï ¡«®ª 
db par ;+4 ᮤ¥à¦¨â «¨ ¡«®ª ¯®¤¡«®ª¨ (0-¤  1-­¥â)
dd caption+0 ;+5 ®¯¨á ­¨¥ ¡«®ª 
}
 
CHUNK_MAIN equ 0x4D4D ; [-] á業 
CHUNK_color_1 equ 0x0011 ; [+] 梥â rgb (byte format)
CHUNK_ambient_color equ 0x2100 ; [-] ambient color
CHUNK_OBJMESH equ 0x3D3D ; [-] ¢áïç¥áª¨¥ ®¡ê¥ªâë
CHUNK_OBJBLOCK equ 0x4000 ; [+] ®¡ê¥ªâ
CHUNK_TRIMESH equ 0x4100 ; [-] trimesh-®¡ê¥ªâ
CHUNK_VERTLIST equ 0x4110 ; [+] ᯨ᮪ ¢¥à設
CHUNK_FACELIST equ 0x4120 ; [+] ᯨ᮪ £à ­¥©
CHUNK_FACEMAT equ 0x4130 ; [+] ¬ â¥à¨ «ë £à ­¥©
CHUNK_MAPLIST equ 0x4140 ; [+] ⥪áâãà­ë¥ ª®®à¤¨­ âë
CHUNK_TRMATRIX equ 0x4160 ; [+] ¬ âà¨æ  ¯¥à¥¢®¤ 
CHUNK_CAMERA equ 0x4700 ; [+] ®¡ê¥ªâ-ª ¬¥à 
CHUNK_MATERIAL equ 0xAFFF ; [-] ¬ â¥à¨ «
CHUNK_MATNAME equ 0xA000 ; [+] ­ §¢ ­¨¥ ¬ â¥à¨ « 
CHUNK_TEXTURE equ 0xA200 ; [-] ⥪áâãà  ¬ â¥à¨ « 
CHUNK_MAPFILE equ 0xA300 ; [+] ¨¬ï ä ©«  ⥪áâãàë
CHUNK_KEYFRAMER equ 0xB000 ; [-] ¨­ä®à¬ æ¨ï ®¡  ­¨¬ æ¨¨
CHUNK_TRACKINFO equ 0xB002 ; [-] ¯®¢¥¤¥­¨¥ ®¡ê¥ªâ 
CHUNK_TRACKOBJNAME equ 0xB010 ; [+] ­ §¢ ­¨¥ í⮣® ®¡ê¥ªâ 
CHUNK_TRACKPIVOT equ 0xB013 ; [+] 業âà ¢à é¥­¨ï ®¡ê¥ªâ 
CHUNK_TRACKPOS equ 0xB020 ; [+] âà ¥ªâ®à¨ï ®¡ê¥ªâ 
CHUNK_TRACKROTATE equ 0xB021 ; [+] âà ¥ªâ®à¨ï ¢à é¥­¨ï ®¡ê¥ªâ 
CHUNK_TRACKCAMERA equ 0xB003 ; [-] ¯®¢¥¤¥­¨¥ ª ¬¥àë
CHUNK_TRACKFOV equ 0xB023 ; [+] ¯®¢¥¤¥­¨¥ FOV ª ¬¥àë
CHUNK_TRACKROLL equ 0xB024 ; [+] ¯®¢¥¤¥­¨¥ roll ª ¬¥àë
CHUNK_TRACKCAMTGT equ 0xB004 ; [-] ¯®¢¥¤¥­¨¥ "楫¨" ª ¬¥àë
 
;¤ ­­ë¥ ᮤ¥à¦ â «¨èì ¡«®ª¨, ®â¬¥ç¥­­ë¥ ¯«îᮬ, ®áâ «ì­ë¥ ¡«®ª¨
; á®áâ®ïâ «¨èì ¨§ ¯®¤¡«®ª®¢
 
MAX_FILE_LEVEL equ 20 ;¬ ªá¨¬ «ì­ë© ã஢¥­ì ¢«®¦¥­­®á⨠¡«®ª®¢ ¤«ï  ­ «¨§ 
MAX_FILE_SIZE equ 150*0x400 ;¬ ªá¨¬ «ì­ë© à §¬¥à ä ©«  (50 Kb)
level_stack dd 0
offs_last_timer dd 0 ;¯®á«¥¤­¨© ᤢ¨£ ¯®ª § ­ë© ¢ ä㭪樨 â ©¬¥à 
 
141,71 → 100,6
FILE_ERROR_CHUNK_SIZE equ -3 ;®è¨¡ª  ¢ à §¬¥à¥ ¡«®ª 
 
align 4
type_bloks:
block_3ds 0x0002,5,1,txt_0002
block_3ds 0x3d3e,5,1 ;mesh version
block_3ds 0xA010,4,0 ;material ambient color
block_3ds 0xA020,4,0 ;material diffuse color
block_3ds 0xA030,4,0 ;material specular color
block_3ds CHUNK_color_1, 4,1 ; [+] 梥â rgb (byte format)
block_3ds CHUNK_ambient_color,3,0 ; [-] ambient color
block_3ds CHUNK_OBJMESH, 3,0 ; [-] ¢áïç¥áª¨¥ ®¡ê¥ªâë
block_3ds CHUNK_OBJBLOCK, 3,1,txt_4000
block_3ds CHUNK_TRIMESH, 3,0 ; [-] trimesh-®¡ê¥ªâ
block_3ds CHUNK_VERTLIST, 3,1,txt_4110
block_3ds CHUNK_FACELIST, 3,1,txt_4120
block_3ds CHUNK_FACEMAT, 3,1 ; [+] ¬ â¥à¨ «ë £à ­¥©
block_3ds CHUNK_MAPLIST, 3,1 ; [+] ⥪áâãà­ë¥ ª®®à¤¨­ âë
block_3ds CHUNK_TRMATRIX, 3,1 ; [+] ¬ âà¨æ  ¯¥à¥¢®¤ 
block_3ds CHUNK_CAMERA, 3,1 ; [+] ®¡ê¥ªâ-ª ¬¥à 
block_3ds 0x4600,3,1,txt_4600
block_3ds CHUNK_MATERIAL, 3,0,txt_afff
block_3ds CHUNK_MATNAME, 3,1,txt_a000
block_3ds CHUNK_TEXTURE, 3,0,txt_a200
block_3ds CHUNK_MAPFILE, 6,1,txt_a300
block_3ds CHUNK_KEYFRAMER, 3,0,txt_b000
block_3ds CHUNK_TRACKINFO, 3,0,txt_b002
block_3ds CHUNK_TRACKOBJNAME,3,1,txt_b010
block_3ds CHUNK_TRACKPIVOT, 3,1,txt_b013
block_3ds CHUNK_TRACKPOS, 3,1 ; [+] âà ¥ªâ®à¨ï ®¡ê¥ªâ 
block_3ds CHUNK_TRACKROTATE, 3,1 ; [+] âà ¥ªâ®à¨ï ¢à é¥­¨ï ®¡ê¥ªâ 
block_3ds CHUNK_TRACKCAMERA, 3,0 ; [-] ¯®¢¥¤¥­¨¥ ª ¬¥àë
block_3ds CHUNK_TRACKFOV, 3,1 ; [+] ¯®¢¥¤¥­¨¥ FOV ª ¬¥àë
block_3ds CHUNK_TRACKROLL, 3,1 ; [+] ¯®¢¥¤¥­¨¥ roll ª ¬¥àë
block_3ds CHUNK_TRACKCAMTGT, 3,0 ; [-] ¯®¢¥¤¥­¨¥ "楫¨" ª ¬¥àë
.end:
 
if lang eq ru
txt_0002 db '3ds ¢¥àá¨ï',0
txt_4000 db 'Ž¡ê¥ªâ (á ¨¬¥­¥¬)',0
txt_4110 db '‘¯¨á®ª ¢¥à設',0
txt_4120 db '‘¯¨á®ª £à ­¥©',0
txt_4600 db '‘¢¥â',0
txt_a000 db ' §¢ ­¨¥ ¬ â¥à¨ « ',0
txt_a200 db '’¥ªáâãà  ¬ â¥à¨ «  1',0
txt_a300 db 'ˆ¬ï ä ©«  ⥪áâãàë',0
txt_afff db 'Œ â¥à¨ «',0
txt_b000 db 'ˆ­ä®à¬ æ¨ï ®¡  ­¨¬ æ¨¨',0
txt_b002 db '®¢¥¤¥­¨¥ ®¡ê¥ªâ ',0
txt_b010 db ' §¢ ­¨¥ ®¡ê¥ªâ ',0
txt_b013 db '–¥­âà ¢à é¥­¨ï ®¡ê¥ªâ ',0
else
txt_0002 db '3ds version',0
txt_4000 db 'Object (with name)',0
txt_4110 db 'Vertices list',0
txt_4120 db 'Faces description',0
txt_4600 db 'Light',0
txt_a000 db 'Material name',0
txt_a200 db 'Texture map 1',0
txt_a300 db 'Mapping filename',0
txt_afff db 'Meterial',0
txt_b000 db 'Keyframer',0
txt_b002 db 'Mesh information',0
txt_b010 db 'Object name',0
txt_b013 db 'Object pivot point',0
end if
 
align 4
file_3ds:
.offs: dd 0 ;+0 㪠§ â¥«ì ­  ­ ç «® ¡«®ª 
.size: dd 0 ;+4 à §¬¥à ¡«®ª  (¤«ï 1-£® ¯ à ¬¥âà  = à §¬¥à ä ©«  3ds)
215,25 → 109,6
list_offs_text equ 12 ;ᤢ¨£ ­ ç «  ⥪áâ  ¢ «¨áâ¥
buffer rb size_one_list ;¡ãä¥à ¤«ï ¤®¡ ¢«¥­¨ï áâàãªâãà ¢ ᯨ᮪ tree1
 
if lang eq ru
txt_open_3ds db 'Žâªàëâ ä ©«:',0
txt_no_3ds db 'Žâªàëâë© ä ©« ­¥ ¢ ä®à¬ â¥ *.3ds',0
txt_3ds_big_file db ' §¬¥à ä ©«  ¡®«ìè¥ MAX_FILE_SIZE',0
txt_3ds_err_sizes db '‚®§¬®¦­® ä ©« ¯®¢à¥¦¤¥­',0
txt_3ds_offs:
db '‘¬¥é¥­¨¥: '
.dig: rb 8
db 0
else
txt_open_3ds db 'Open file:',0
txt_no_3ds db 'Žâªàëâë© ä ©« ­¥ ¢ ä®à¬ â¥ *.3ds',0
txt_3ds_big_file db ' §¬¥à ä ©«  ¡®«ìè¥ MAX_FILE_SIZE',0
txt_3ds_err_sizes db '‚®§¬®¦­® ä ©« ¯®¢à¥¦¤¥­',0
txt_3ds_offs:
db 'Offset: '
.dig: rb 8
db 0
end if
txt_3ds_symb db 0,0
;--------------------------------------