buf2d.obj:

- new function 'buf2d_resize'
info3ds:
- update resize window
- update function 'block_analiz_data'

git-svn-id: svn://kolibrios.org@2136 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
IgorA
2011-08-30 11:10:56 +00:00
parent 341ced5f56
commit e251af9421
4 changed files with 123 additions and 32 deletions

View File

@@ -1,7 +1,7 @@
if lang eq ru if lang eq ru
capt db 'info 3ds <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 26.08.11',0 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> capt db 'info 3ds <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 30.08.11',0 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
else else
capt db 'info 3ds version 26.08.11',0 ;window caption capt db 'info 3ds version 30.08.11',0 ;window caption
end if end if
MAX_FILE_LEVEL equ 20 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> MAX_FILE_LEVEL equ 20 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>

View File

@@ -325,6 +325,24 @@ pushad
sub eax,65 sub eax,65
mov dword[tree1.box_height],eax mov dword[tree1.box_height],eax
mov word[w_scr_t1+4],ax ;<3B><><EFBFBD><EFBFBD><EFBFBD><><E0A0A7><EFBFBD><EFBFBD> <20><><EFBFBD><E0AEAB><EFBFBD><EFBFBD><EFBFBD> mov word[w_scr_t1+4],ax ;<3B><><EFBFBD><EFBFBD><EFBFBD><><E0A0A7><EFBFBD><EFBFBD> <20><><EFBFBD><E0AEAB><EFBFBD><EFBFBD><EFBFBD>
cmp eax,dword[buf_0.h] ;㢥<><E3A2A5><EFBFBD><E7A8A2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
jle @f
stdcall [buf2d_resize],buf_0,0,eax
mov dword[offs_last_timer],0 ;<3B><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><E2A0A9><EFBFBD><EFBFBD>
@@:
mov eax,dword[procinfo.box.width]
cmp eax,400
jge @f
mov eax,400
@@:
sub eax,[buf_0.w]
sub eax,41
mov dword[tree1.box_width],eax
add ax,word[tree1.box_left]
mov word[w_scr_t1.start_x],ax
add ax,16+5
mov word[buf_0.l],ax
mov eax,8 mov eax,8
mov ebx,(5 shl 16)+20 mov ebx,(5 shl 16)+20
@@ -521,28 +539,27 @@ block_analiz_data:
; *** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><20><><EFBFBD><EFBFBD><20> <20><EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ; *** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><20><><EFBFBD><EFBFBD><20> <20><EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
cmp dx,CHUNK_OBJBLOCK ;<3B><><EFBFBD> cmp dx,CHUNK_OBJBLOCK ;<3B><><EFBFBD>
jne @f jne @f
.cycle_0: push ax
push ax cld
cld xor al,al
xor al,al mov edi,esi
mov edi,esi repne scasb
repne scasb pop ax
pop ax sub edi,esi ;edi - strlen
sub edi,esi ;edi - strlen stdcall add_3ds_object, ID_ICON_DATA,ebx,edi,0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EAA5AA>
stdcall add_3ds_object, ID_ICON_DATA,ebx,edi,0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EAA5AA> add esi,edi
add esi,edi ;sub ecx,edi ;㦥 ᤥ<><E1A4A5><EFBFBD><EFBFBD> <20> repne
sub ecx,edi
jmp .next_bl jmp .next_bl
@@: @@:
cmp dx,CHUNK_VERTLIST ;ᯨ᮪ <20><><EFBFBD> cmp dx,CHUNK_VERTLIST ;ᯨ᮪ <20><><EFBFBD>
je .vertexes je .vertexes
cmp dx,0x4111 ;䫠<><E4ABA0> <20><><EFBFBD> cmp dx,0x4111 ;䫠<><E4ABA0> <20><><EFBFBD>
je .vertexes je .vertexes
cmp dx,CHUNK_FACELIST ;ᯨ᮪ <20><EFBFBD><EFBFBD> cmp dx,CHUNK_MAPLIST ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD>
je .vertexes je .vertexes
jmp @f jmp @f
.vertexes: ;<3B><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ᮤ<><EFBFBD><E0A6A0><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> .vertexes: ;<3B><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ᮤ<><EFBFBD><E0A6A0><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
stdcall add_3ds_object, ID_ICON_DATA,ebx,2,txt_count ;<3B><><20><><EFBFBD> <20><><EFBFBD> <20><EFBFBD><E0A0AD> stdcall add_3ds_object, ID_ICON_DATA,ebx,2,txt_count ;<3B><><20><><EFBFBD>
add esi,2 add esi,2
sub ecx,2 sub ecx,2
stdcall add_3ds_object, ID_ICON_DATA,ebx,ecx,0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> stdcall add_3ds_object, ID_ICON_DATA,ebx,ecx,0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
@@ -550,6 +567,53 @@ block_analiz_data:
call block_next call block_next
jmp .end_f jmp .end_f
@@: @@:
cmp dx,CHUNK_FACELIST ;ᯨ᮪ <20><EFBFBD><E0A0AD>
jne @f
stdcall add_3ds_object, ID_ICON_DATA,ebx,2,txt_count ;<3B><><20><EFBFBD><E0A0AD>
push eax
xor eax,eax
mov ax,[esi]
shl eax,3
add esi,2
sub ecx,2
stdcall add_3ds_object, ID_ICON_DATA,ebx,eax,0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
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>
add esi,eax
pop eax
jmp .next_bl
;stdcall add_3ds_object, ID_ICON_DATA,ebx,ecx,0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0A8A0>
;sub esi,eax ;<3B><><EFBFBD><EFBFBD><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> esi
.data_3:
sub esi,8 ;<3B><><EFBFBD><EFBFBD><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> esi
pop eax
call block_next
jmp .end_f
@@:
cmp dx,CHUNK_FACEMAT ;<3B><><EFBFBD><EFBFBD><EFBFBD><E0A8A0> <20><EFBFBD><E0A0AD>
jne @f
push ax
cld
xor al,al
mov edi,esi
repne scasb
pop ax
sub edi,esi ;edi - strlen
stdcall add_3ds_object, ID_ICON_DATA,ebx,edi,0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EAA5AA>
add esi,edi
;sub ecx,edi ;㦥 ᤥ<><E1A4A5><EFBFBD><EFBFBD> <20> repne
stdcall add_3ds_object, ID_ICON_DATA,ebx,2,txt_count ;<3B><><20><EFBFBD><E0A0AD>
add esi,2
sub ecx,2
stdcall add_3ds_object, ID_ICON_DATA,ebx,ecx,0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0A0AD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0A8AC><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
sub esi,edi ;<3B><><EFBFBD><EFBFBD><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> esi (1)
sub esi,8 ;<3B><><EFBFBD><EFBFBD><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> esi (2)
call block_next
jmp .end_f
@@:
; *** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><20><><><EFBFBD><E7A0AD> (<28><><EFBFBD> <20><EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) ; *** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><20><><><EFBFBD><E7A0AD> (<28><><EFBFBD> <20><EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
stdcall add_3ds_object, ID_ICON_DATA,ebx,ecx,0 stdcall add_3ds_object, ID_ICON_DATA,ebx,ecx,0
sub esi,6 ;<3B><><EFBFBD><EFBFBD><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> esi sub esi,6 ;<3B><><EFBFBD><EFBFBD><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> esi
@@ -949,19 +1013,6 @@ dd 0,0
aOpenDialog_Init db 'OpenDialog_init',0 aOpenDialog_Init db 'OpenDialog_init',0
aOpenDialog_Start db 'OpenDialog_start',0 aOpenDialog_Start db 'OpenDialog_start',0
; file.find_first db 'file_find_first',0
; file.find_next db 'file_find_next',0
; file.find_close db 'file_find_close',0
; file.size db 'file_size',0
; file.open db 'file_open',0
; file.read db 'file_read',0
; file.write db 'file_write',0
; file.seek db 'file_seek',0
; file.tell db 'file_tell',0
; file.eof? db 'file_iseof',0
; file.truncate db 'file_truncate',0
; file.close db 'file_close',0
align 4 align 4
import_buf2d: import_buf2d:
dd sz_init0 dd sz_init0
@@ -970,6 +1021,7 @@ import_buf2d:
buf2d_clear dd sz_buf2d_clear buf2d_clear dd sz_buf2d_clear
buf2d_draw dd sz_buf2d_draw buf2d_draw dd sz_buf2d_draw
buf2d_delete dd sz_buf2d_delete buf2d_delete dd sz_buf2d_delete
buf2d_resize dd sz_buf2d_resize
buf2d_line dd sz_buf2d_line buf2d_line dd sz_buf2d_line
buf2d_rect_by_size dd sz_buf2d_rect_by_size buf2d_rect_by_size dd sz_buf2d_rect_by_size
buf2d_filled_rect_by_size dd sz_buf2d_filled_rect_by_size buf2d_filled_rect_by_size dd sz_buf2d_filled_rect_by_size
@@ -995,6 +1047,7 @@ import_buf2d:
sz_buf2d_clear db 'buf2d_clear',0 sz_buf2d_clear db 'buf2d_clear',0
sz_buf2d_draw db 'buf2d_draw',0 sz_buf2d_draw db 'buf2d_draw',0
sz_buf2d_delete db 'buf2d_delete',0 sz_buf2d_delete db 'buf2d_delete',0
sz_buf2d_resize db 'buf2d_resize',0
sz_buf2d_line db 'buf2d_line',0 sz_buf2d_line db 'buf2d_line',0
sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0 sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0
sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0 sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0
@@ -1096,7 +1149,7 @@ procinfo process_information
align 4 align 4
buf_0: dd 0 ;㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD> buf_0: dd 0 ;㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD>
dw 205 ;+4 left .l: dw 205 ;+4 left
dw 35 ;+6 top dw 35 ;+6 top
.w: dd 340 ;+8 w .w: dd 340 ;+8 w
.h: dd 250 ;+12 h .h: dd 250 ;+12 h
@@ -1121,7 +1174,8 @@ tree1 tree_list size_one_list,200+2, tl_key_no_edit+tl_draw_par_line,\
align 4 align 4
w_scr_t1: w_scr_t1:
.size_x dw 16 ;+0 .size_x dw 16 ;+0
rb 2+2+2 .start_x dw 0
rb 2+2
.btn_high dd 15 ;+8 .btn_high dd 15 ;+8
.type dd 1 ;+12 .type dd 1 ;+12
.max_area dd 100 ;+16 .max_area dd 100 ;+16

View File

@@ -108,6 +108,11 @@ buf_0:
<h4>buf2d_delete</h4> <h4>buf2d_delete</h4>
<p><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.</p> <p><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.</p>
<h4>buf2d_resize</h4>
<p><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> 24 <20><><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:</p>
<pre>stdcall [buf2d_resize], buf_0, 0,300 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD></pre>
<p><EFBFBD><EFBFBD><EFBFBD> buf_0 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>; 0 - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (0 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>); 300 - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.</p>
<h4>buf2d_line</h4> <h4>buf2d_line</h4>
<p><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:</p> <p><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:</p>
<pre>stdcall [buf2d_line], buf_0, 30,10, 110,70, 0xffff00 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD></pre> <pre>stdcall [buf2d_line], buf_0, 30,10, 110,70, 0xffff00 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD></pre>
@@ -225,6 +230,7 @@ import_buf2d_lib:
buf2d_clear dd sz_buf2d_clear buf2d_clear dd sz_buf2d_clear
buf2d_draw dd sz_buf2d_draw buf2d_draw dd sz_buf2d_draw
buf2d_delete dd sz_buf2d_delete buf2d_delete dd sz_buf2d_delete
buf2d_resize dd sz_buf2d_resize
buf2d_line dd sz_buf2d_line buf2d_line dd sz_buf2d_line
buf2d_rect_by_size dd sz_buf2d_rect_by_size buf2d_rect_by_size dd sz_buf2d_rect_by_size
buf2d_filled_rect_by_size dd sz_buf2d_filled_rect_by_size buf2d_filled_rect_by_size dd sz_buf2d_filled_rect_by_size
@@ -251,6 +257,7 @@ import_buf2d_lib:
sz_buf2d_clear db 'buf2d_clear',0 sz_buf2d_clear db 'buf2d_clear',0
sz_buf2d_draw db 'buf2d_draw',0 sz_buf2d_draw db 'buf2d_draw',0
sz_buf2d_delete db 'buf2d_delete',0 sz_buf2d_delete db 'buf2d_delete',0
sz_buf2d_resize db 'buf2d_resize',0
sz_buf2d_line db 'buf2d_line',0 sz_buf2d_line db 'buf2d_line',0
sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0 sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0
sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0 sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0
@@ -285,5 +292,6 @@ import_buf2d_lib:
<p>02.11.10 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> buf2d_flood_fill.</p> <p>02.11.10 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> buf2d_flood_fill.</p>
<p>22.12.10 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> buf2d_cruve_bezier <20><> buf2d_curve_bezier.</p> <p>22.12.10 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> buf2d_cruve_bezier <20><> buf2d_curve_bezier.</p>
<p>25.03.11 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> buf2d_set_pixel.</p> <p>25.03.11 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> buf2d_set_pixel.</p>
<p>30.08.11 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> buf2d_resize.</p>
</body> </body>
</html> </html>

View File

@@ -911,10 +911,37 @@ endp
align 4 align 4
proc buf_delete, buf_struc:dword proc buf_delete, buf_struc:dword
push edi push eax edi
mov edi,dword[buf_struc] mov edi,dword[buf_struc]
invoke mem.free,buf2d_data invoke mem.free,buf2d_data
pop edi pop edi eax
ret
endp
align 4
proc buf_resize, buf_struc:dword, new_w:dword, new_h:dword
pushad
mov edi,dword[buf_struc]
cmp buf2d_bits,24
jne .24bit
mov eax,dword[new_w]
cmp eax,1
jl @f
mov buf2d_w,eax
@@:
mov ecx,buf2d_w
mov eax,dword[new_h]
cmp eax,1
jl @f
mov buf2d_h,eax
@@:
mov ebx,buf2d_h
imul ecx,ebx
lea ecx,[ecx+ecx*2] ; 24 bit = 3
invoke mem.realloc,buf2d_data,ecx ;<3B><><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
mov buf2d_data,eax ;<3B><> <20><><EFBFBD><20><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
.24bit:
popad
ret ret
endp endp
@@ -2310,6 +2337,7 @@ EXPORTS:
dd sz_buf2d_clear, buf_clear dd sz_buf2d_clear, buf_clear
dd sz_buf2d_draw, buf_draw_buf dd sz_buf2d_draw, buf_draw_buf
dd sz_buf2d_delete, buf_delete dd sz_buf2d_delete, buf_delete
dd sz_buf2d_resize, buf_resize
dd sz_buf2d_line, buf_line_brs dd sz_buf2d_line, buf_line_brs
dd sz_buf2d_rect_by_size, buf_rect_by_size dd sz_buf2d_rect_by_size, buf_rect_by_size
dd sz_buf2d_filled_rect_by_size, buf_filled_rect_by_size dd sz_buf2d_filled_rect_by_size, buf_filled_rect_by_size
@@ -2335,6 +2363,7 @@ EXPORTS:
sz_buf2d_clear db 'buf2d_clear',0 ;<3B><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E3AAA0><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 梥⮬ sz_buf2d_clear db 'buf2d_clear',0 ;<3B><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E3AAA0><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 梥⮬
sz_buf2d_draw db 'buf2d_draw',0 sz_buf2d_draw db 'buf2d_draw',0
sz_buf2d_delete db 'buf2d_delete',0 sz_buf2d_delete db 'buf2d_delete',0
sz_buf2d_resize db 'buf2d_resize',0
sz_buf2d_line db 'buf2d_line',0 ;<3B><><EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> sz_buf2d_line db 'buf2d_line',0 ;<3B><><EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0 ;<3B><><EFBFBD><E1AEA2><EFBFBD><EFBFBD><><E0A0AC> <20><>אַ㣮<EFACAE><EFBFBD><ECADA8>, 2-<2D> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><><E0A0A7><EFBFBD><EFBFBD> sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0 ;<3B><><EFBFBD><E1AEA2><EFBFBD><EFBFBD><><E0A0AC> <20><>אַ㣮<EFACAE><EFBFBD><ECADA8>, 2-<2D> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><><E0A0A7><EFBFBD><EFBFBD>
sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0 ;<3B><><EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><>אַ㣮<EFACAE><EFBFBD><ECADA8>, 2-<2D> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><><E0A0A7><EFBFBD><EFBFBD> sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0 ;<3B><><EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><>אַ㣮<EFACAE><EFBFBD><ECADA8>, 2-<2D> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><><E0A0A7><EFBFBD><EFBFBD>