update programs

git-svn-id: svn://kolibrios.org@6081 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
IgorA
2016-01-19 20:53:55 +00:00
parent 87bab698eb
commit fc6f59584d
6 changed files with 334 additions and 161 deletions

View File

@@ -61,7 +61,7 @@ image_data_toolbar dd 0
TREE_ICON_SYS16_BMP_SIZE equ IMAGE_TOOLBAR_ICON_SIZE*11+54 ;ࠧ<><E0A0A7><EFBFBD> bmp 䠩<><E4A0A9> <20> <20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
icon_tl_sys dd 0 ;㪠<><E3AAA0><EFBFBD><E2A5A5> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><EFBFBD><E0A0AD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E2A5AC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
icon_toolbar dd 0 ;㪠<><E3AAA0><EFBFBD><E2A5A5> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><EFBFBD><E0A0AD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ꥪ⮢
IMAGE_CHUNKS_SIZE equ IMAGE_TOOLBAR_ICON_SIZE*10+54 ;ࠧ<><E0A0A7><EFBFBD> bmp 䠩<><E4A0A9> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ꥪ⮢
IMAGE_CHUNKS_SIZE equ IMAGE_TOOLBAR_ICON_SIZE*12+54 ;ࠧ<><E0A0A7><EFBFBD> bmp 䠩<><E4A0A9> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ꥪ⮢
;
IMAGE_FILE1_SIZE equ 128*144*3+54 ;ࠧ<><E0A0A7><EFBFBD><><E4A0A9> <20> <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD><EFBFBD>
@@ -320,6 +320,15 @@ mouse:
;mouse l. but. move
cmp dword[mouse_drag],1
jne .end_m
stdcall [tl_node_get_data],tree1
cmp eax,0
je .end_d
mov ebx,dword[eax]
add ebx,dword[open_file_data] ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD><><E1A4A2><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
cmp word[ebx],CHUNK_OBJBLOCK
jne .end_d
mcall SF_MOUSE_GET,SSF_WINDOW_POSITION
mov ebx,eax
shr ebx,16 ;mouse.x
@@ -358,8 +367,7 @@ mouse:
fstp dword[angle_y]
stdcall [tl_node_get_data],tree1
cmp eax,0
je .end_d
;cmp eax,0 - <20><> <20><><EFBFBD><EFBFBD>, <20>뫮 ᤥ<><E1A4A5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
add eax,list_offs_obj3d
stdcall draw_3d, eax
jmp .end_d
@@ -410,7 +418,7 @@ timer_funct:
mov edi,eax
add edi,list_offs_obj3d
mov ebx,eax
mov eax,dword[ebx] ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD><><E1A4A2><EFBFBD> <20><><EFBFBD><EFBFBD><E0A0AD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E2ADAE>⥫쭮 <20><><EFBFBD><><E4A0A9>
mov eax,dword[ebx]
mov ecx,dword[ebx+4] ;ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
stdcall hex_in_str, txt_3ds_offs.dig, eax,8
stdcall hex_in_str, txt_3ds_offs.siz, ecx,8
@@ -434,7 +442,22 @@ timer_funct:
call mnu_reset_settings ;<3B><><EFBFBD><EFBFBD><EFBFBD><><E3A3AB> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <><E0A5A6><EFBFBD><EFBFBD> <20><><EFBFBD><E1AEA2><EFBFBD><EFBFBD>
jmp .end_f
.end_oblo:
call buf_draw_beg
cmp word[eax],CHUNK_MATERIAL
jne .end_mblo
cmp dword[edi+offs_mat_name],0
je .ini_mblo
stdcall draw_material,edi
jmp .end_f
.ini_mblo:
stdcall mat_init,edi ;<3B><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><E0AEA8> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0A8A0>
cmp dword[edi+offs_mat_name],0
je .end_f
stdcall draw_material,edi
jmp .end_f
.end_mblo:
stdcall buf_draw_beg, buf_ogl
stdcall [buf2d_draw_text], buf_ogl, buf_1,txt_3ds_offs,5,35,0xb000
mov edx,dword[ebx+list_offs_p_data]
cmp edx,0 ;ᬮ<><20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><E1A0AD> <20><><EFBFBD><EFBFBD><EFBFBD>
@@ -446,17 +469,6 @@ timer_funct:
popad
jmp still
align 4
buf_draw_beg:
stdcall [buf2d_clear], buf_ogl, [buf_ogl.color] ;<3B><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD>
stdcall [buf2d_draw_text], buf_ogl, buf_1,txt_open_3ds,5,5,0xff
stdcall [buf2d_draw_text], buf_ogl, buf_1,openfile_path,5,15,0xff
cmp dword[level_stack],FILE_ERROR_CHUNK_SIZE ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E8A8A1><><E4A0A9>
jne @f
stdcall [buf2d_draw_text], buf_ogl, buf_1,txt_3ds_err_sizes,5,25,0xff0000
@@:
ret
align 4
draw_window:
pushad
@@ -715,7 +727,7 @@ init_tree:
mov esi,dword[open_file_data]
cmp word[esi],CHUNK_MAIN
je @f
call buf_draw_beg
stdcall buf_draw_beg, buf_ogl
stdcall [buf2d_draw_text], buf_ogl, buf_1,txt_no_3ds,5,25,0xff0000 ;<3B><><EFBFBD><20><><EFBFBD> <20><>
jmp .end_open
@@:
@@ -738,14 +750,14 @@ init_tree:
mov edx,dword[esi+2] ;ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
call block_analiz
;cmp word[esi],CHUNK_MATERIAL
;je @f
cmp word[esi],CHUNK_OBJMESH
je @f
cmp word[esi],CHUNK_OBJBLOCK
je @f
mov dword[bl_found],0
@@:
cmp word[esi],CHUNK_MATERIAL
je @f
cmp word[esi],CHUNK_OBJMESH
je @f
cmp word[esi],CHUNK_OBJBLOCK
je @f
mov dword[bl_found],0
@@:
cmp dword[bl_found],0
jne @f
;<3B><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2ADAE> <20><><EFBFBD><EFBFBD>
@@ -760,10 +772,19 @@ mov dword[bl_found],0
add esi,6
push esi
sub esi,6
jmp .pod2
jmp .pod3
.pod1:
push dword[ecx+5] ;<3B><EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
cmp word[esi],CHUNK_MATERIAL
jne .pod2
cmp word[esi+6],CHUNK_MATNAME
jne .pod2
add esi,12
push esi
sub esi,12
jmp .pod3
.pod2:
push dword[ecx+5] ;<3B><EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
.pod3:
stdcall add_3ds_object, ebx,dword[level_stack],edx
cmp byte[ecx+4],1
je .bl_data
@@ -782,6 +803,7 @@ mov dword[bl_found],0
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
;input:
; eax - stack pointer
; esi - memory pointer
;output:
; eax - new stack pointer
@@ -833,9 +855,16 @@ proc block_analiz_data uses ebx ecx edx edi
sub ecx,eax
cmp ecx,1
jl .data_3 ;<3B><EFBFBD><E0AEA2><20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD>, <20><EFBFBD><E0A8AC><EFBFBD><EFA5AC> <20> <20><><EFBFBD><EAA5AA>
if 1
add esi,eax
mov ecx,dword[esi+2]
stdcall add_3ds_object, 10,ebx,ecx,0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0A8A0>
sub esi,eax
else
add esi,eax
pop eax
jmp .next_bl
end if
.data_3:
sub esi,8 ;<3B><><EFBFBD><EFBFBD><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> esi
@@ -1044,31 +1073,6 @@ align 4
@@:
ret
align 4
proc hex_in_str, buf:dword,val:dword,zif:dword
pushad
mov edi,dword[buf]
mov ecx,dword[zif]
add edi,ecx
dec edi
mov ebx,dword[val]
.cycle:
mov al,bl
and al,0xf
cmp al,10
jl @f
add al,'a'-'0'-10
@@:
add al,'0'
mov byte[edi],al
dec edi
shr ebx,4
loop .cycle
popad
ret
endp
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E4A0A9><EFBFBD>
align 4
OpenDialog_data:
@@ -1448,9 +1452,9 @@ white_light dd 0.8, 0.8, 0.8, 1.0 ;
lmodel_ambient dd 0.3, 0.3, 0.3, 1.0 ; <20><><EFBFBD><E0A0AC><EFBFBD><EFBFBD><><E4AEAD><EFBFBD><EFBFBD><EFBFBD> <20>ᢥ饭<E1A2A5><E9A5AD>
if lang eq ru
capt db 'info 3ds [user] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 16.01.16',0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
capt db 'info 3ds [user] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 19.01.16',0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
else
capt db 'info 3ds [user] version 16.01.16',0 ;window caption
capt db 'info 3ds [user] version 19.01.16',0 ;window caption
end if
align 16