Subversion Repositories Kolibri OS

Compare Revisions

No changes between revisions

Regard whitespace Rev 4331 → Rev 4332

/programs/develop/info3ds/data.inc
1,7 → 1,7
if lang eq ru
capt db 'info 3ds ¢¥àá¨ï 12.09.11',0 ;¯®¤¯¨áì ®ª­ 
capt db 'info 3ds ¢¥àá¨ï 06.12.13',0 ;¯®¤¯¨áì ®ª­ 
else
capt db 'info 3ds version 12.09.11',0 ;window caption
capt db 'info 3ds version 06.12.13',0 ;window caption
end if
 
MAX_FILE_LEVEL equ 20 ;¬ ªá¨¬ «ì­ë© ã஢¥­ì ¢«®¦¥­­®á⨠¡«®ª®¢ ¤«ï  ­ «¨§ 
52,7 → 52,8
block_3ds 0x0002,5,1,txt_0002
block_3ds 0x3d3e,5,1 ; [+] mesh version
block_3ds 0x0011,4,1,txt_0011
block_3ds CHUNK_ambient_color,3,0 ; [-] ambient color
block_3ds 0x0100,3,1,txt_0100
block_3ds CHUNK_ambient_color,3,0,txt_2100 ; [-] ambient color
block_3ds CHUNK_OBJMESH, 3,0,txt_3d3d
block_3ds CHUNK_OBJBLOCK,3,1,txt_4000
block_3ds CHUNK_TRIMESH, 3,0,txt_4100
70,16 → 71,18
block_3ds 0xa030,4,0,txt_a030
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_KEYFRAMER, 7,0,txt_b000
block_3ds CHUNK_TRACKINFO, 3,0,txt_b002
block_3ds CHUNK_TRACKOBJNAME,3,1,txt_b010
block_3ds 0xb011,3,1,txt_b011
block_3ds CHUNK_TRACKPIVOT, 3,1,txt_b013
block_3ds 0xb014,3,1,txt_b014
block_3ds CHUNK_TRACKPOS, 3,1,txt_b020
block_3ds CHUNK_TRACKROTATE, 3,1,txt_b021
block_3ds CHUNK_TRACKCAMERA, 3,0,txt_b003
block_3ds CHUNK_TRACKFOV, 3,1,txt_b023
block_3ds CHUNK_TRACKROLL, 3,1,txt_b024
block_3ds CHUNK_TRACKCAMTGT, 3,0,txt_b004
block_3ds CHUNK_TRACKCAMERA, 7,0,txt_b003
block_3ds CHUNK_TRACKFOV, 7,1,txt_b023
block_3ds CHUNK_TRACKROLL, 7,1,txt_b024
block_3ds CHUNK_TRACKCAMTGT, 7,0,txt_b004
 
;--- ¤ «¥¥ ­¥ ¢® ¢á¥å ¡«®ª å ᬮ£ ­ ©â¨ ®¯¨á ­¨¥ ­  àãá᪮¬ ï§ëª¥
block_3ds 0x4111, 3,1,txt_4111
126,6 → 129,11
if lang eq ru
txt_0002 db '3ds ¢¥àá¨ï',0
txt_0011 db '–¢¥â rgb (¡ ©â®¢ë© ä®à¬ â)',0
;txt_0012 db 'LIN_COLOR_24',0
;txt_0030 db 'Percentage value (int)',0
;txt_0031 db 'Percentage value (float)',0
txt_0100 db 'Master scale',0
txt_2100 db '–¢¥â ®ªà㦠î饩 á।ë',0
txt_3d3d db ' ¡®à ®¡ê¥ªâ®¢',0
txt_4000 db 'Ž¡ê¥ªâ (á ¨¬¥­¥¬)',0
txt_4100 db '’à¥ã£®«ì­ë¥ á¥âª¨',0
137,16 → 145,22
txt_4600 db '‘¢¥â',0
txt_4700 db 'Š ¬¥à ',0
txt_a000 db ' §¢ ­¨¥ ¬ â¥à¨ « ',0
;txt_a100 db 'MAT_SHADING',0
txt_a010 db 'Žªà㦠î騩 梥â',0
txt_a020 db '„¨ääã§­ë© æ¢¥â',0
txt_a030 db '‡¥àª «ì­ë© 梥â',0
txt_a200 db '’¥ªáâãà  ¬ â¥à¨ «  1',0
txt_a300 db 'ˆ¬ï ä ©«  ⥪áâãàë',0
;txt_a353 db 'MAT_MAP_TEXBLUR',0
txt_afff db 'Œ â¥à¨ «',0
txt_b000 db 'ˆ­ä®à¬ æ¨ï ®¡  ­¨¬ æ¨¨',0
txt_b002 db '®¢¥¤¥­¨¥ ®¡ê¥ªâ ',0
;txt_b009 db 'KFCURTIME',0
;txt_b00a db 'KFHDR',0
txt_b010 db ' §¢ ­¨¥ ®¡ê¥ªâ ',0
txt_b011 db 'ˆ¬ï íª§¥¬¯«ïà ',0
txt_b013 db '–¥­âà ¢à é¥­¨ï ®¡ê¥ªâ ',0
txt_b014 db 'Bound box',0
txt_b020 db '’à ¥ªâ®à¨ï ¤¢¨¦¥­¨ï',0
txt_b021 db '’à ¥ªâ®à¨ï ¢à é¥­¨ï',0
txt_b003 db '®¢¥¤¥­¨¥ ª ¬¥àë',0
194,10 → 208,14
txt_a08a db 'In tranc',0
txt_a08c db 'Soften',0
txt_a08e db 'Wire in units',0
 
txt_not_delete db '¥ ¬®£ã 㤠«¨âì ¢ë¡à ­­ë© ¡«®ª. Ž­ § é¨é¥­.',0
else
 
txt_0002 db '3ds version',0
txt_0011 db 'Color rgb (byte format)',0
txt_0100 db 'Master scale',0
txt_2100 db 'Ambient color',0
txt_3d3d db 'Editor chunk',0
txt_4000 db 'Object (with name)',0
txt_4100 db 'Triangular mesh',0
218,7 → 236,9
txt_b000 db 'Keyframer',0
txt_b002 db 'Mesh information',0
txt_b010 db 'Object name',0
txt_b011 db 'Instance name',0
txt_b013 db 'Object pivot point',0
txt_b014 db 'Bound box',0
txt_b020 db 'Position track',0
txt_b021 db 'Rotation track',0
txt_b003 db 'Camera information',0
266,6 → 286,8
txt_a08a db 'In tranc',0
txt_a08c db 'Soften',0
txt_a08e db 'Wire in units',0
 
txt_not_delete db 'I can not delete the selected chunk. It is protected.',0
end if
 
if lang eq ru
/programs/develop/info3ds/info3ds.asm
34,6 → 34,7
run_file_70 FileInfoBlock
image_data dd 0 ;㪠§ â¥«ì ­  ¢à¥¬¥­­ãî ¯ ¬ïâì. ¤«ï ­ã¦¥­ ¯à¥®¡à §®¢ ­¨ï ¨§®¡à ¦¥­¨ï
open_file_lif dd 0 ;㪠§ â¥«ì ­  ¯ ¬ïâì ¤«ï ®âªàëâ¨ï ä ©«®¢ 3ds
open_file_size dd 0 ;à §¬¥à ®âªàë⮣® ä ©« 
 
;
fn_toolbar db 'toolbar.png',0
44,7 → 45,7
TREE_ICON_SYS16_BMP_SIZE equ IMAGE_TOOLBAR_ICON_SIZE*11+54 ;à §¬¥à bmp ä ©«  á á¨á⥬­ë¬¨ ¨ª®­ª ¬¨
icon_tl_sys dd 0 ;㪠§ â¥¥«ì ­  ¯ ¬ïâì ¤«ï åà ­¥­¨ï á¨á⥬­ëå ¨ª®­®ª
icon_toolbar dd 0 ;㪠§ â¥¥«ì ­  ¯ ¬ïâì ¤«ï åà ­¥­¨ï ¨ª®­®ª ®¡ê¥ªâ®¢
TOOLBAR_ICON_BMP_SIZE equ IMAGE_TOOLBAR_ICON_SIZE*7+54 ;à §¬¥à bmp ä ©«  á ¨ª®­ª ¬¨ ®¡ê¥ªâ®¢
TOOLBAR_ICON_BMP_SIZE equ IMAGE_TOOLBAR_ICON_SIZE*8+54 ;à §¬¥à bmp ä ©«  á ¨ª®­ª ¬¨ ®¡ê¥ªâ®¢
;
IMAGE_FILE1_SIZE equ 128*144*3+54 ;à §¬¥à ä ©«  á ¨§®¡à ¦¥­¨¥¬
 
100,13 → 101,16
FILE_ERROR_CHUNK_SIZE equ -3 ;®è¨¡ª  ¢ à §¬¥à¥ ¡«®ª 
 
align 4
file_3ds:
file_3ds: ;¯¥à¥¬¥­­ë¥ ¨á¯®«ì§ã¥¬ë¥ ¯à¨ ®âªàë⨨ ä ©« 
.offs: dd 0 ;+0 㪠§ â¥«ì ­  ­ ç «® ¡«®ª 
.size: dd 0 ;+4 à §¬¥à ¡«®ª  (¤«ï 1-£® ¯ à ¬¥âà  = à §¬¥à ä ©«  3ds)
rb 8*MAX_FILE_LEVEL
 
size_one_list equ 40
list_offs_text equ 12 ;ᤢ¨£ ­ ç «  ⥪áâ  ¢ «¨áâ¥
size_one_list equ 42
list_offs_chunk_del equ 8 ;¬®¦¥â «¨ ¡«®ª 㤠«ïâáï
list_offs_chunk_lev equ 9 ;ã஢¥­ì ¡«®ª  (¯à®¯¨á ­ ¢ ¤ ­­ë¥ 㧫 )
list_offs_p_data equ 10 ;㪠§ â¥«ì ­  ¯®¤¯¨áì ¡«®ª 
list_offs_text equ 14 ;ᤢ¨£ ­ ç «  ⥪áâ  ¢ «¨áâ¥
buffer rb size_one_list ;¡ãä¥à ¤«ï ¤®¡ ¢«¥­¨ï áâàãªâãà ¢ ᯨ᮪ tree1
 
txt_3ds_symb db 0,0
226,7 → 230,7
mov dword[offs_last_timer],eax
call buf_draw_beg
stdcall [buf2d_draw_text], buf_0, buf_1,txt_3ds_offs,5,35,0xb000
mov edx,dword[ebx+8]
mov edx,dword[ebx+list_offs_p_data]
cmp edx,0 ;ᬮâਬ ¥áâì «¨ ®¯¨á ­¨¥ ¡«®ª 
je .no_info
stdcall [buf2d_draw_text], buf_0, buf_1,edx,5,45,0xb000
353,7 → 357,6
int 0x40
 
mov ebx,(30 shl 16)+20
mov ecx,(5 shl 16)+20
mov edx,4
int 0x40
 
360,16 → 363,18
cmp byte[can_save],0
je @f
mov ebx,(55 shl 16)+20
mov ecx,(5 shl 16)+20
mov edx,5
int 0x40
@@:
 
mov ebx,(85 shl 16)+20
mov ecx,(5 shl 16)+20
mov edx,6 ;®ª­® á ª®®à¤¨­ â ¬¨
int 0x40
 
mov ebx,(110 shl 16)+20
mov edx,7 ;㤠«¥­¨¥ ¡«®ª 
int 0x40
 
mov eax,7
mov ebx,[image_data_toolbar]
mov ecx,(16 shl 16)+16
385,8 → 390,17
add ebx,IMAGE_TOOLBAR_ICON_SIZE
mov edx,(57 shl 16)+7 ;save
int 0x40
sub ebx,IMAGE_TOOLBAR_ICON_SIZE
@@:
 
add ebx,4*IMAGE_TOOLBAR_ICON_SIZE
mov edx,(87 shl 16)+7
int 0x40
 
add ebx,IMAGE_TOOLBAR_ICON_SIZE
mov edx,(112 shl 16)+7
int 0x40
 
mov dword[w_scr_t1.all_redraw],1
stdcall [tl_draw],dword tree1
 
422,6 → 436,10
jne @f
call but_wnd_coords
@@:
cmp ah,7
jne @f
call but_delete_chunk
@@:
 
cmp ah,1
jne still
441,7 → 459,6
mov byte[can_save],0
stdcall [tl_info_clear], tree1 ;®ç¨á⪠ ᯨ᪠ ®¡ê¥ªâ®¢
stdcall [buf2d_clear], buf_0, [buf_0.color] ;ç¨á⨬ ¡ãä¥à
;;;call draw_window
stdcall [tl_draw], tree1
stdcall [buf2d_draw], buf_0 ;®¡­®¢«ï¥¬ ¡ãä¥à ­  íªà ­¥
ret
469,11 → 486,19
cmp ebx,0xffffffff
je .end_open_file
 
;add ebx,[open_file_lif]
;mov byte[ebx],0 ;­  á«ãç © ¥á«¨ à ­¥¥ ¡ë« ®âªàëâ ä ©« ¡®«ì襣® à §¬¥à  ç¨á⨬ ª®­¥æ ¡ãä¥à  á ä ©«®¬
mov [open_file_size],ebx
;mcall 71,1,openfile_path
 
mov byte[can_save],0
call init_tree
stdcall [buf2d_draw], buf_0 ;®¡­®¢«ï¥¬ ¡ãä¥à ­  íªà ­¥
 
.end_open_file:
popad
ret
 
align 4
init_tree:
stdcall [tl_info_clear], tree1 ;®ç¨á⪠ ᯨ᪠ ®¡ê¥ªâ®¢
 
mov esi,dword[open_file_lif]
532,10 → 557,6
stdcall [tl_cur_beg], tree1
stdcall [tl_draw], tree1
.end_open:
 
stdcall [buf2d_draw], buf_0 ;®¡­®¢«ï¥¬ ¡ãä¥à ­  íªà ­¥
.end_open_file:
popad
ret
 
; ­ «¨§ ¤ ­­ëå ¡«®ª 
676,6 → 697,8
ret
 
;¯¥à¥å®¤ ª á«¥¤ã饬㠡«®ªã ⥪ã饣® ã஢­ï
;input:
; eax -  ¤à¥á áâàãªâãàë á ¯¥à¥¬¥­­ë¬¨
align 4
block_next:
push ebx
722,6 → 745,8
 
;input:
; esi - 㪠§ â¥«ì ­   ­ «¨§¨àã¥¬ë¥ ¤ ­­ë¥
; level - ã஢¥­ì ¢«®¦¥­­®á⨠㧫 
; size_bl - à §¬¥à ¡«®ª 
align 4
proc add_3ds_object, icon:dword,level:dword,size_bl:dword,info_bl:dword
pushad
734,13 → 759,22
mov dword[buffer],eax ;ᬥ饭¨¥ ¡«®ª 
mov ecx,dword[size_bl]
mov dword[buffer+4],ecx ;à §¬¥à ¡«®ª  (¨á¯®«ì§ã¥âáï ¢ ä㭪樨 buf_draw_hex_table ¤«ï à¨á®¢ ­¨ï «¨­¨¨)
mov ecx,dword[bl_found]
cmp ecx,0
je @f
;... §¤¥áì ­ã¦¥­ ¤à㣮©  «£®à¨â¬ § é¨âë ®â 㤠«¥­¨ï
mov cl,byte[ecx+4]
@@:
mov byte[buffer+list_offs_chunk_del],cl
mov ecx,[level]
mov byte[buffer+list_offs_chunk_lev],cl
mov ecx,dword[info_bl]
mov dword[buffer+8],ecx
mov dword[buffer+list_offs_p_data],ecx
stdcall hex_in_str, buffer+list_offs_text,dword[esi+1],2
stdcall hex_in_str, buffer+list_offs_text+2,dword[esi],2 ;ª®¤ 3ds ¡«®ª 
cmp ecx,0
jne @f
mov byte[buffer+list_offs_text+4],0 ;0 - ᨬ¢®« ª®­¥æ  áâப¨
mov byte[buffer+list_offs_text+4],0 ;0 - ᨬ¢®« ª®­æ  áâப¨
jmp .no_capt
@@:
mov byte[buffer+list_offs_text+4],' '
857,7 → 891,62
@@:
ret
 
;description:
; 㤠«¥­¨¥ ¢ë¡à ­­®£® ¡«®ª  ¨§ ®âªàë⮣® ä ©« 
align 4
but_delete_chunk:
pushad
stdcall [tl_node_get_data],tree1
pop ebx
cmp ebx,0
je .end_f
cmp byte[ebx+list_offs_chunk_del],0 ;¥á«¨ ¡«®ª § é¨é¥­ ®â 㤠«¥­¨ï
jne .notify
 
;(1) ª®¯¨à®¢ ­¨¥ ­¨¦­¥© ç á⨠䠩« 
mov edx,dword[ebx+4] ;à §¬¥à ¡«®ª 
sub [open_file_size],edx ;¨§¬¥­¥­¨¥ à §¬¥à®¢ ä ©« 
mov ecx,[open_file_size]
mov eax,dword[ebx] ;¯®«ãç ¥¬ §­ ç¥­¨¥ ᤢ¨£  ¢ë¡à ­­®£® ¡«®ª  ®â­®á¨â¥«ì­® ­ ç «  ä ©« 
sub ecx,eax ;ecx - à §¬¥à ­¨¦­¥© ᤢ¨£ ¥¬®© ç á⨠䠩« 
add eax,dword[open_file_lif] ;¯®«ãç ¥¬ §­ ç¥­¨¥ ᤢ¨£  ¢ ¯ ¬ïâ¨
mov edi,eax
mov esi,eax
add esi,edx
mov al,byte[ebx+list_offs_chunk_lev] ;¡¥à¥¬ ã஢¥­ì ⥪ã饣® 㧫 
rep movsb
mov byte[can_save],1
 
;(2) ¨§¬¥­¥­¨¥ à §¬¥à®¢ த¨â¥«ìáª¨å ¡«®ª®¢
cmp al,0
je .end_2
.cycle_2:
stdcall [tl_cur_perv], tree1
stdcall [tl_node_get_data],tree1
pop ebx
cmp ebx,0
je .end_2
cmp byte[ebx+list_offs_chunk_lev],al
jge .cycle_2
mov al,byte[ebx+list_offs_chunk_lev]
mov ecx,[ebx]
add ecx,[open_file_lif]
sub dword[ecx+2],edx
cmp al,0 ;¥á«¨ á ¬ë© ¢¥àå­¨© 㧥«, â® al=0
jne .cycle_2
.end_2:
;(3) ®¡­®¢«¥­¨¥ ᯨ᪠ tree1
call init_tree
call draw_window
 
jmp .end_f
.notify:
notify_window_run txt_not_delete
.end_f:
popad
ret
 
;input:
; buf - 㪠§ â¥«ì ­  áâபã, ç¨á«® ¤®«¦­® ¡ëâì ¢ 10 ¨«¨ 16 à¨ç­®¬ ¢¨¤¥
;output:
1215,7 → 1304,7
db 24 ;+20 bit in pixel
 
el_focus dd tree1
tree1 tree_list size_one_list,200+2, tl_key_no_edit+tl_draw_par_line,\
tree1 tree_list size_one_list,300+2, tl_key_no_edit+tl_draw_par_line,\
16,16, 0xffffff,0xb0d0ff,0xd000ff, 5,35,195-16,250, 16,list_offs_text,0, el_focus,\
w_scr_t1,0
 
/programs/develop/info3ds/info_wnd_coords.inc
32,12 → 32,34
stdcall [tl_node_get_data],tree1
pop ebx
xor edx,edx
mov dword[capt_p],txt_q
cmp ebx,0
je @f
je .no_points
mov ebx,dword[ebx] ;¯®«ãç ¥¬ §­ ç¥­¨¥ ᤢ¨£  ¢ë¡à ­­®£® ¡«®ª 
add ebx,dword[open_file_lif]
mov dx,word[ebx+6] ;ª®««¨ç¥á⢮ â®ç¥ª
 
cmp word[ebx],CHUNK_VERTLIST
jne @f
movzx edx,word[ebx+6] ;ª®««¨ç¥á⢮ â®ç¥ª
add ebx,8
mov dword[capt_p],txt_4110
jmp .no_points
@@:
cmp word[ebx],0xb013
jne @f
inc edx
add ebx,6
mov dword[capt_p],txt_b013
jmp .no_points
@@:
cmp word[ebx],0xb014
jne @f
mov edx,2
add ebx,6
mov dword[capt_p],txt_b014
;jmp .no_points
@@:
.no_points:
 
;­ áâனª  ᯨ᪠ ®¡ê¥ªâ®¢
mov dword[tree3.info_max_count],2
48,11 → 70,8
mov eax,dword[icon_toolbar]
mov dword[tree3.data_img],eax
 
cmp ebx,0
cmp edx,0
je .no_object
cmp word[ebx],CHUNK_VERTLIST
jne .no_object ;¥á«¨ ­¥ â®â ®¡ê¥ªâ
add ebx,8
mov word[NumberSymbolsAD],5
finit
.new_point:
94,7 → 113,7
mcall 12,1
 
xor eax,eax
mov edi,txt_4110 ;caption
mov edi,dword[capt_p] ;children window caption
mov bx,word[procinfo.box.left]
add bx,word[buf_0.l]
shl ebx,16
289,6 → 308,8
mov byte[prop_wnd_run],0 ;®¡­ã«ï¥¬ áç¥â稪 ®ª®­
mcall -1 ;¢ë室 ¨§ ¯à®£à ¬¬ë
 
capt_p dd 0
 
;¤¥à¥¢® á ®¡ê¥ªâ ¬¨ ¢ ¯®«ì§®¢ â¥«ì᪮¬ ä ©«¥
tree3 tree_list MAX_OBJECT_SIZE,3,\
tl_key_no_edit+tl_list_box_mode,\
/programs/develop/info3ds/objects.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/programs/develop/info3ds/toolbar.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream