forked from KolibriOS/kolibrios
1) 'vox_editor' update
2) 'buf2d.obj' add new function 'buf2d_rotate' git-svn-id: svn://kolibrios.org@2975 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -55,6 +55,10 @@ table { font-size: 15px; }
|
||||
<li><a href="#f_init">lib_init</a></li>
|
||||
<li><a href="#f_b_create">buf2d_create</a></li>
|
||||
<li><a href="#f_b_create_f">buf2d_create_f_img</a></li>
|
||||
<li><a href="#f_b_clear">buf2d_clear</a></li>
|
||||
<li><a href="#f_b_draw">buf2d_draw</a></li>
|
||||
<li><a href="#f_b_delete">buf2d_delete</a></li>
|
||||
<li><a href="#f_b_rotate">buf2d_rotate</a></li>
|
||||
<li><a href="#f_b_hdiv2">buf2d_img_hdiv2</a></li>
|
||||
<li><a href="#f_b_wdiv2">buf2d_img_wdiv2</a></li>
|
||||
<li><a href="#f_c_color">buf2d_crop_color</a></li>
|
||||
@@ -74,7 +78,7 @@ table { font-size: 15px; }
|
||||
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.</p>
|
||||
|
||||
<p><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 11.08.12.</p>
|
||||
<p><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 01.10.12.</p>
|
||||
|
||||
<h1><a name="format_buf"><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></a></h1>
|
||||
<p><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 3 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
@@ -114,19 +118,24 @@ buf_0:
|
||||
<h4><a name="f_b_create_f">buf2d_create_f_img</a></h4>
|
||||
<p><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <b>rgb</b>.</p>
|
||||
|
||||
<h4>buf2d_clear</h4>
|
||||
<h4><a name="f_b_clear">buf2d_clear</a></h4>
|
||||
<p><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:</p>
|
||||
<pre>buf2d_color equ dword[edi+16] ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov edi,buf_0
|
||||
stdcall [buf2d_clear], edi, buf2d_color ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><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>.</p>
|
||||
|
||||
<h4>buf2d_draw</h4>
|
||||
<h4><a name="f_b_draw">buf2d_draw</a></h4>
|
||||
<p><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>. 7). <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><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>.</p>
|
||||
|
||||
<h4>buf2d_delete</h4>
|
||||
<h4><a name="f_b_delete">buf2d_delete</a></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>
|
||||
|
||||
<h4><a name="f_b_rotate">buf2d_rotate</a></h4>
|
||||
<p><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> 90 <20><><EFBFBD> 180 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:</p>
|
||||
<pre>stdcall [buf2d_rotate], buf_0, 90</pre>
|
||||
<p><EFBFBD><EFBFBD><EFBFBD> buf_0 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> 8, 24 <20><><EFBFBD> 32 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>); 90 - <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><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>
|
||||
@@ -294,6 +303,7 @@ import_buf2d_lib:
|
||||
buf2d_clear dd sz_buf2d_clear
|
||||
buf2d_draw dd sz_buf2d_draw
|
||||
buf2d_delete dd sz_buf2d_delete
|
||||
buf2d_rotate dd sz_buf2d_rotate
|
||||
buf2d_resize dd sz_buf2d_resize
|
||||
buf2d_line dd sz_buf2d_line
|
||||
buf2d_line_sm dd sz_buf2d_line_sm
|
||||
@@ -335,6 +345,7 @@ import_buf2d_lib:
|
||||
sz_buf2d_clear db 'buf2d_clear',0
|
||||
sz_buf2d_draw db 'buf2d_draw',0
|
||||
sz_buf2d_delete db 'buf2d_delete',0
|
||||
sz_buf2d_rotate db 'buf2d_rotate',0
|
||||
sz_buf2d_resize db 'buf2d_resize',0
|
||||
sz_buf2d_line db 'buf2d_line',0
|
||||
sz_buf2d_line_sm db 'buf2d_line_sm',0
|
||||
@@ -392,5 +403,6 @@ import_buf2d_lib:
|
||||
<p>11.05.12 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> buf2d_get_pixel, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> buf2d_set_pixel.</p>
|
||||
<p>12.06.12 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.</p>
|
||||
<p>11.08.12 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> buf2d_img_hdiv2 <20> buf2d_img_wdiv2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 32 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.</p>
|
||||
<p>01.10.12 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 90 <20> 180 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> buf2d_rotate.</p>
|
||||
</body>
|
||||
</html>
|
@@ -1071,6 +1071,249 @@ proc buf_resize, buf_struc:dword, new_w:dword, new_h:dword
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
rot_table: ;⠡<><E2A0A1><EFBFBD><EFBFBD> <20><><EFBFBD> 㪠<><E3AAA0><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>㭪樨 <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⮢
|
||||
dd buf_rotate.8b90,buf_rotate.24b90,buf_rotate.32b90,\
|
||||
buf_rotate.8b180,buf_rotate.24b180,buf_rotate.32b180
|
||||
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD> <20><> 90 <20><><EFBFBD> 180 <20>ࠤ<EFBFBD>ᮢ
|
||||
align 4
|
||||
proc buf_rotate, buf_struc:dword, angle:dword
|
||||
locals
|
||||
n_data dd ?
|
||||
dec_h dd ? ;<3B><> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD> 㬥<><E3ACA5>襭<EFBFBD><E8A5AD> <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> y
|
||||
endl
|
||||
pushad
|
||||
mov edi,[buf_struc]
|
||||
mov ebx,buf2d_w
|
||||
mov ecx,buf2d_h
|
||||
|
||||
lea eax,[rot_table]
|
||||
cmp dword[angle],90 ;<3B><EFBFBD>ઠ 㣫<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
je .beg_0
|
||||
cmp dword[angle],180
|
||||
jne @f
|
||||
add eax,12
|
||||
jmp .beg_0
|
||||
@@:
|
||||
jmp .end_f
|
||||
.beg_0: ;<3B><EFBFBD>ઠ <20><>⭮<EFBFBD><E2ADAE><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
cmp buf2d_bits,8
|
||||
jne @f
|
||||
jmp dword[eax]
|
||||
@@:
|
||||
cmp buf2d_bits,24
|
||||
jne @f
|
||||
add eax,4
|
||||
jmp dword[eax]
|
||||
@@:
|
||||
cmp buf2d_bits,32
|
||||
jne @f
|
||||
add eax,8
|
||||
jmp dword[eax]
|
||||
@@:
|
||||
jmp .end_f
|
||||
|
||||
.8b90: ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 8 <20><>⭮<EFBFBD><E2ADAE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 90 <20>ࠤ<EFBFBD>ᮢ
|
||||
mov edx,ecx ;edx - buf_h
|
||||
imul ecx,ebx
|
||||
invoke mem.alloc,ecx ;<3B>뤥<EFBFBD>塞 <20>६<EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
cmp eax,0
|
||||
je .end_f
|
||||
mov [n_data],eax
|
||||
mov [dec_h],ecx
|
||||
inc dword[dec_h]
|
||||
|
||||
;copy buf --> mem
|
||||
mov edi,[buf_struc]
|
||||
mov esi,buf2d_data
|
||||
mov edi,eax ;[n_data]
|
||||
dec edx ;<3B><>४<EFBFBD><E0A5AA><EFBFBD>㥬 edx <20><> 1 <20><><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>樨 ᤢ<><E1A4A2><EFBFBD> <20> movsb
|
||||
add edi,edx
|
||||
xor eax,eax
|
||||
cld
|
||||
.cycle_0:
|
||||
movsb
|
||||
add edi,edx
|
||||
inc eax
|
||||
cmp eax,ebx
|
||||
jl @f
|
||||
xor eax,eax
|
||||
sub edi,[dec_h]
|
||||
@@:
|
||||
loop .cycle_0
|
||||
|
||||
;change buf_w <---> buf_h
|
||||
mov esi,[n_data]
|
||||
mov edi,[buf_struc]
|
||||
mov edi,buf2d_data
|
||||
mov ecx,ebx
|
||||
inc edx ;<3B><><EFBFBD>ࠢ<EFBFBD>塞 ४<E1AAAE><E0A5AA><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD> edx
|
||||
imul ecx,edx
|
||||
;copy buf <-- mem
|
||||
;cld
|
||||
rep movsb
|
||||
invoke mem.free,[n_data]
|
||||
jmp .change_w_h
|
||||
.24b90: ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 24 <20><>⭮<EFBFBD><E2ADAE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 90 <20>ࠤ<EFBFBD>ᮢ
|
||||
mov esi,ecx
|
||||
imul esi,ebx
|
||||
lea ecx,[ecx+ecx*2]
|
||||
mov edx,ecx ;edx - buf_h * 3
|
||||
imul ecx,ebx
|
||||
invoke mem.alloc,ecx ;<3B>뤥<EFBFBD>塞 <20>६<EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
cmp eax,0
|
||||
je .end_f
|
||||
mov [n_data],eax
|
||||
mov [dec_h],ecx
|
||||
add dword[dec_h],3
|
||||
|
||||
;copy buf --> mem
|
||||
|
||||
mov edi,[buf_struc]
|
||||
mov ecx,esi
|
||||
mov esi,buf2d_data
|
||||
mov edi,eax ;[n_data]
|
||||
sub edx,3 ;<3B><>४<EFBFBD><E0A5AA><EFBFBD>㥬 edx <20><> 3 <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>樨 ᤢ<><E1A4A2><EFBFBD>
|
||||
add edi,edx
|
||||
xor eax,eax
|
||||
cld
|
||||
.cycle_1:
|
||||
movsw
|
||||
movsb
|
||||
add edi,edx
|
||||
inc eax
|
||||
cmp eax,ebx
|
||||
jl @f
|
||||
xor eax,eax
|
||||
sub edi,[dec_h]
|
||||
@@:
|
||||
loop .cycle_1
|
||||
|
||||
;copy buf <-- mem
|
||||
mov esi,[n_data]
|
||||
mov edi,[buf_struc]
|
||||
mov edi,buf2d_data
|
||||
mov ecx,ebx
|
||||
add edx,3 ;<3B><><EFBFBD>ࠢ<EFBFBD>塞 ४<E1AAAE><E0A5AA><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD> edx
|
||||
imul ecx,edx
|
||||
;cld
|
||||
rep movsb
|
||||
invoke mem.free,[n_data]
|
||||
jmp .change_w_h
|
||||
.32b90: ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 32 <20><>⭮<EFBFBD><E2ADAE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 90 <20>ࠤ<EFBFBD>ᮢ
|
||||
shl ecx,2
|
||||
mov edx,ecx ;edx - buf_h * 4
|
||||
imul ecx,ebx
|
||||
invoke mem.alloc,ecx ;<3B>뤥<EFBFBD>塞 <20>६<EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
cmp eax,0
|
||||
je .end_f
|
||||
mov [n_data],eax
|
||||
mov [dec_h],ecx
|
||||
add dword[dec_h],4
|
||||
|
||||
;copy buf --> mem
|
||||
mov edi,[buf_struc]
|
||||
shr ecx,2
|
||||
mov esi,buf2d_data
|
||||
mov edi,eax ;[n_data]
|
||||
sub edx,4 ;<3B><>४<EFBFBD><E0A5AA><EFBFBD>㥬 edx <20><> 4 <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>樨 ᤢ<><E1A4A2><EFBFBD> <20> movsd
|
||||
add edi,edx
|
||||
xor eax,eax
|
||||
cld
|
||||
.cycle_2:
|
||||
movsd
|
||||
add edi,edx
|
||||
inc eax
|
||||
cmp eax,ebx
|
||||
jl @f
|
||||
xor eax,eax
|
||||
sub edi,[dec_h]
|
||||
@@:
|
||||
loop .cycle_2
|
||||
|
||||
;copy buf <-- mem
|
||||
mov esi,[n_data]
|
||||
mov edi,[buf_struc]
|
||||
mov edi,buf2d_data
|
||||
mov ecx,ebx
|
||||
add edx,4 ;<3B><><EFBFBD>ࠢ<EFBFBD>塞 ४<E1AAAE><E0A5AA><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD> edx
|
||||
imul ecx,edx
|
||||
shr ecx,2
|
||||
;cld
|
||||
rep movsd
|
||||
invoke mem.free,[n_data]
|
||||
;jmp .change_w_h
|
||||
.change_w_h: ;change buf_w <---> buf_h
|
||||
mov edi,[buf_struc]
|
||||
mov eax,buf2d_w
|
||||
mov ebx,buf2d_h
|
||||
mov buf2d_h,eax
|
||||
mov buf2d_w,ebx
|
||||
jmp .end_f
|
||||
.8b180: ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 8 <20><>⭮<EFBFBD><E2ADAE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 180 <20>ࠤ<EFBFBD>ᮢ
|
||||
mov edi,buf2d_data
|
||||
mov esi,edi
|
||||
imul ecx,ebx
|
||||
add esi,ecx
|
||||
dec esi
|
||||
shr ecx,1 ;ecx - <20><> <20><><EFBFBD>ᥫ<EFBFBD><E1A5AB> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> : 2
|
||||
std
|
||||
@@:
|
||||
lodsb
|
||||
mov ah,byte[edi]
|
||||
mov byte[esi+1],ah
|
||||
mov byte[edi],al
|
||||
inc edi
|
||||
loop @b
|
||||
jmp .end_f
|
||||
.24b180: ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 24 <20><>⭮<EFBFBD><E2ADAE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 180 <20>ࠤ<EFBFBD>ᮢ
|
||||
mov esi,buf2d_data
|
||||
mov edi,esi
|
||||
imul ecx,ebx
|
||||
mov eax,ecx
|
||||
lea ecx,[ecx+ecx*2]
|
||||
add edi,ecx
|
||||
sub edi,3
|
||||
shr eax,1
|
||||
mov ecx,eax ;ecx - <20><> <20><><EFBFBD>ᥫ<EFBFBD><E1A5AB> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> : 2
|
||||
cld
|
||||
@@:
|
||||
lodsw
|
||||
mov edx,eax
|
||||
lodsb
|
||||
mov bx,word[edi]
|
||||
mov word[esi-3],bx
|
||||
mov bl,byte[edi+2]
|
||||
mov byte[esi-1],bl
|
||||
mov byte[edi+2],al
|
||||
mov word[edi],dx
|
||||
sub edi,3
|
||||
loop @b
|
||||
jmp .end_f
|
||||
.32b180: ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 32 <20><>⭮<EFBFBD><E2ADAE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 180 <20>ࠤ<EFBFBD>ᮢ
|
||||
mov edi,buf2d_data
|
||||
mov esi,edi
|
||||
imul ecx,ebx
|
||||
shl ecx,2
|
||||
add esi,ecx
|
||||
sub esi,4
|
||||
shr ecx,3 ;ecx - <20><> <20><><EFBFBD>ᥫ<EFBFBD><E1A5AB> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> : 2
|
||||
std
|
||||
@@:
|
||||
lodsd
|
||||
mov ebx,dword[edi]
|
||||
mov dword[esi+4],ebx
|
||||
mov dword[edi],eax
|
||||
add edi,4
|
||||
loop @b
|
||||
;jmp .end_f
|
||||
|
||||
.end_f:
|
||||
popad
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc buf_line_brs, buf_struc:dword, coord_x0:dword, coord_y0:dword, coord_x1:dword, coord_y1:dword, color:dword
|
||||
locals
|
||||
@@ -3238,19 +3481,20 @@ proc vox_create_next_brush uses eax ebx ecx edx edi, buf_v1:dword, buf_v2:dword,
|
||||
;ecx - <20><>ਭ<EFBFBD> <20><>室<EFBFBD><E5AEA4><EFBFBD><EFBFBD> <20><><EFBFBD>ᥫ<EFBFBD> : 2
|
||||
;ebx - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>室<EFBFBD><E5AEA4><EFBFBD><EFBFBD> <20><><EFBFBD>ᥫ<EFBFBD> (<28><><EFBFBD> <20>᭮<EFBFBD><E1ADAE><EFBFBD><EFBFBD><EFBFBD>)
|
||||
;edx - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>᭮<EFBFBD><E1ADAE><EFBFBD><EFBFBD><EFBFBD> <20><>室<EFBFBD><E5AEA4><EFBFBD><EFBFBD> <20><><EFBFBD>ᥫ<EFBFBD>
|
||||
mov eax,[h]
|
||||
cmp eax,0
|
||||
je @f
|
||||
stdcall vox_add, [buf_v2], [buf_v1], ecx,0,0
|
||||
stdcall vox_add, [buf_v2], [buf_v1], ecx,ebx,0
|
||||
|
||||
mov eax,[h]
|
||||
stdcall vox_add, [buf_v2], [buf_v1], 0,eax,eax
|
||||
push eax ;stdcall ...
|
||||
add eax,ebx
|
||||
stdcall vox_add, [buf_v2], [buf_v1], 0,eax ;,...
|
||||
sub eax,ebx
|
||||
|
||||
shl ecx,1
|
||||
|
||||
;ecx - <20><>ਭ<EFBFBD> <20><>室<EFBFBD><E5AEA4><EFBFBD><EFBFBD> <20><><EFBFBD>ᥫ<EFBFBD>
|
||||
mov eax,[h]
|
||||
stdcall vox_add, [buf_v2], [buf_v1], ecx,eax,eax
|
||||
push eax ;stdcall ...,[h]
|
||||
add eax,ebx
|
||||
@@ -3263,6 +3507,27 @@ proc vox_create_next_brush uses eax ebx ecx edx edi, buf_v1:dword, buf_v2:dword,
|
||||
add ebx,edx
|
||||
stdcall vox_add, [buf_v2], [buf_v1], ecx,ebx,edx
|
||||
|
||||
jmp .end_0
|
||||
@@:
|
||||
;<3B> h = 0, ⮣<><E2AEA3> <20><><EFBFBD><EFBFBD>砥<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> 2 <20>࠭<EFBFBD>
|
||||
;<3B> ⠪<><E2A0AA> <20><><EFBFBD>砥 <20><><EFBFBD> <20><><EFBFBD><EFBFBD>祭<EFBFBD><E7A5AD> <20><>㡨<EFBFBD><E3A1A8> <20><>६ <20><>ਭ<EFBFBD> / 2
|
||||
mov eax,ecx
|
||||
;2 <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ᥫ<EFBFBD>
|
||||
stdcall vox_add, [buf_v2], [buf_v1], 0,0,eax
|
||||
stdcall vox_add, [buf_v2], [buf_v1], 0,ebx,eax
|
||||
shl eax,1
|
||||
;2 業<>ࠫ<EFBFBD><E0A0AB><EFBFBD><EFBFBD> <20><>।<EFBFBD><E0A5A4><EFBFBD> <20><><EFBFBD>ᥫ<EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 業<>ࠫ<EFBFBD><E0A0AB><EFBFBD><EFBFBD> <20><> <20>뢮<EFBFBD><EBA2AE><EFBFBD>)
|
||||
stdcall vox_add, [buf_v2], [buf_v1], ecx,0,eax
|
||||
stdcall vox_add, [buf_v2], [buf_v1], ecx,ebx,eax
|
||||
shr eax,1
|
||||
shl ecx,1
|
||||
;2 <20>ࠢ<EFBFBD><E0A0A2> <20><><EFBFBD>ᥫ<EFBFBD>
|
||||
stdcall vox_add, [buf_v2], [buf_v1], ecx,0,eax
|
||||
stdcall vox_add, [buf_v2], [buf_v1], ecx,ebx,eax
|
||||
|
||||
.end_0:
|
||||
|
||||
|
||||
ret
|
||||
endp
|
||||
|
||||
@@ -3666,14 +3931,23 @@ proc vox_go_in_node, buf_i:dword, buf_z:dword, h_br:dword, v_obj:dword
|
||||
;mov eax,(h-h_osn/2)
|
||||
mov ebx,[h_br]
|
||||
movzx eax,byte[ebx+1]
|
||||
cmp byte[ebx+2],0
|
||||
je @f
|
||||
;<3B> <20><><EFBFBD><EFBFBD><EFBFBD> <20> 3-<2D><> <20>࠭ﬨ
|
||||
movzx ebx,byte[ebx+2]
|
||||
shr ebx,1
|
||||
sub eax,ebx
|
||||
jmp .end_0
|
||||
@@:
|
||||
;<3B> <20><><EFBFBD><EFBFBD><EFBFBD> <20> 2-<2D><> <20>࠭ﬨ
|
||||
movzx ebx,byte[ebx]
|
||||
shr ebx,1
|
||||
.end_0:
|
||||
cmp ecx,1
|
||||
jl .end_c1
|
||||
jl @f
|
||||
shl eax,cl
|
||||
shl ebx,cl
|
||||
.end_c1:
|
||||
@@:
|
||||
add esi,ebx
|
||||
pop ebx
|
||||
add edx,eax ;<3B><>४<EFBFBD><E0A5AA><EFBFBD><E0AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>ᥫ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0AEA2>
|
||||
@@ -3823,22 +4097,32 @@ endl
|
||||
pop ecx ebx
|
||||
|
||||
cmp ecx,1
|
||||
jl .no_scale ;<3B><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>横<EFBFBD><E6A8AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
jl @f ;<3B><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>横<EFBFBD><E6A8AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
shl eax,cl
|
||||
shl dword[osn_w_2],cl
|
||||
shl dword[vox_h],cl
|
||||
.no_scale:
|
||||
@@:
|
||||
|
||||
; add esi,eax ;<3B><><EFBFBD>塞 <20><>㡨<EFBFBD><E3A1A8> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> z (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> y)
|
||||
bt word[edi],0 ;test voxel coord x
|
||||
jnc @f
|
||||
add ebx,[osn_w_2]
|
||||
cmp eax,0
|
||||
jne .end_0
|
||||
add esi,[osn_w_2] ;<3B><><EFBFBD>塞 <20><>㡨<EFBFBD><E3A1A8> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> z
|
||||
jmp @f
|
||||
.end_0:
|
||||
add edx,eax
|
||||
add esi,eax ;<3B><><EFBFBD>塞 <20><>㡨<EFBFBD><E3A1A8> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> z
|
||||
@@:
|
||||
bt word[edi],1 ;test voxel coord y
|
||||
jnc @f
|
||||
add ebx,[osn_w_2]
|
||||
cmp eax,0
|
||||
jne .end_1
|
||||
sub esi,[osn_w_2] ;<3B><><EFBFBD>塞 <20><>㡨<EFBFBD><E3A1A8> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> z
|
||||
jmp @f
|
||||
.end_1:
|
||||
sub edx,eax
|
||||
sub esi,eax ;<3B><><EFBFBD>塞 <20><>㡨<EFBFBD><E3A1A8> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> z
|
||||
@@:
|
||||
@@ -4456,6 +4740,7 @@ EXPORTS:
|
||||
dd sz_buf2d_draw, buf_draw_buf
|
||||
dd sz_buf2d_delete, buf_delete
|
||||
dd sz_buf2d_resize, buf_resize
|
||||
dd sz_buf2d_rotate, buf_rotate
|
||||
dd sz_buf2d_line, buf_line_brs
|
||||
dd sz_buf2d_line_sm, buf_line_brs_sm
|
||||
dd sz_buf2d_rect_by_size, buf_rect_by_size
|
||||
@@ -4494,6 +4779,7 @@ EXPORTS:
|
||||
sz_buf2d_draw db 'buf2d_draw',0
|
||||
sz_buf2d_delete db 'buf2d_delete',0
|
||||
sz_buf2d_resize db 'buf2d_resize',0
|
||||
sz_buf2d_rotate db 'buf2d_rotate',0
|
||||
sz_buf2d_line db 'buf2d_line',0 ;<3B><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
sz_buf2d_line_sm db 'buf2d_line_sm',0 ;<3B><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> ᣫ<><E1A3AB><EFBFBD><EFBFBD><EFBFBD><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>
|
||||
|
@@ -48,7 +48,7 @@ table
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 19.07.2012</h1>
|
||||
<h1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 01.10.2012</h1>
|
||||
<p><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
|
||||
<ul>
|
||||
<li><a href="#about"><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></a></li>
|
||||
@@ -76,6 +76,7 @@ table
|
||||
<p><img src="tb_open.png"> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.</p>
|
||||
<p><img src="tb_save.png"> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.</p>
|
||||
<p><img src="tb_zoom_p.png">, <img src="tb_zoom_m.png"> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.</p>
|
||||
<p><img src="tb_3g_2g.png"> - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> 3-<2D><> <20><><EFBFBD> 2-<2D><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>).</p>
|
||||
<p><img src="tb_rot_1.png">, <img src="tb_rot_2.png"> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.</p>
|
||||
<p><img src="tb_pl_p.png">, <img src="tb_pl_m.png"> - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.</p>
|
||||
<p><img src="tb_pen.png"> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.</p>
|
||||
|
BIN
programs/media/voxel_editor/docs/tb_3g_2g.png
Normal file
BIN
programs/media/voxel_editor/docs/tb_3g_2g.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 364 B |
Binary file not shown.
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 6.1 KiB |
@@ -17,7 +17,7 @@ include 'dll.inc'
|
||||
include 'vox_draw.inc'
|
||||
|
||||
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
||||
caption db 'Voxel editor 12.09.12',0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
caption db 'Voxel editor 01.10.12',0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
struct FileInfoBlock
|
||||
Function dd ?
|
||||
@@ -34,7 +34,7 @@ image_data dd 0 ;㪠
|
||||
|
||||
fn_toolbar db 'toolbar.png',0
|
||||
IMAGE_TOOLBAR_ICON_SIZE equ 16*16*3
|
||||
IMAGE_TOOLBAR_SIZE equ IMAGE_TOOLBAR_ICON_SIZE*22
|
||||
IMAGE_TOOLBAR_SIZE equ IMAGE_TOOLBAR_ICON_SIZE*23
|
||||
image_data_toolbar dd 0
|
||||
cursors_count equ 4
|
||||
IMAGE_CURSORS_SIZE equ 4096*cursors_count ;ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD>⨭<EFBFBD><E2A8AD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>ࠬ<EFBFBD>
|
||||
@@ -186,7 +186,8 @@ start:
|
||||
stdcall [buf2d_create], buf_0z ;ᮧ<><E1AEA7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>㡨<EFBFBD><E3A1A8>
|
||||
stdcall [buf2d_create], buf_pl ;ᮧ<><E1AEA7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><>祭<EFBFBD><E7A5AD>
|
||||
|
||||
stdcall [buf2d_vox_brush_create], buf_vox, vox_6_7_z
|
||||
stdcall [buf2d_vox_brush_create], buf_vox_g3, vox_6_7_z
|
||||
stdcall [buf2d_vox_brush_create], buf_vox_g2, vox_6_4_z
|
||||
|
||||
load_image_file fn_toolbar, image_data_toolbar,IMAGE_TOOLBAR_SIZE
|
||||
|
||||
@@ -258,7 +259,7 @@ mouse:
|
||||
sub edx,[scaled_zoom]
|
||||
sub ax,word[buf_0.t]
|
||||
sub bx,word[buf_0.l]
|
||||
stdcall get_mouse_ev_scale, buf_vox, ebx, eax, [scaled_zoom],edx
|
||||
stdcall get_mouse_ev_scale, [buf_vox], ebx, eax, [scaled_zoom],edx
|
||||
cmp eax,0
|
||||
je @f
|
||||
mov ebx,eax
|
||||
@@ -497,6 +498,9 @@ pushad
|
||||
add ebx,25 shl 16
|
||||
mov edx,24
|
||||
int 0x40
|
||||
add ebx,25 shl 16
|
||||
mov edx,25
|
||||
int 0x40
|
||||
|
||||
; *** <20><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ***
|
||||
mov eax,7
|
||||
@@ -519,6 +523,9 @@ pushad
|
||||
add edx,(25 shl 16) ;㬥<><E3ACA5><EFBFBD>. <20><><EFBFBD><EFBFBD>⠡
|
||||
int 0x40
|
||||
add ebx,IMAGE_TOOLBAR_ICON_SIZE
|
||||
add edx,(25 shl 16) ;camera 3g 2g
|
||||
int 0x40
|
||||
add ebx,IMAGE_TOOLBAR_ICON_SIZE
|
||||
add edx,(25 shl 16) ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1
|
||||
int 0x40
|
||||
add ebx,IMAGE_TOOLBAR_ICON_SIZE
|
||||
@@ -695,70 +702,74 @@ button:
|
||||
@@:
|
||||
cmp ah,8
|
||||
jne @f
|
||||
call but_3
|
||||
call but_camera_3g_2g
|
||||
@@:
|
||||
cmp ah,9
|
||||
jne @f
|
||||
call but_4
|
||||
call but_3
|
||||
@@:
|
||||
cmp ah,10
|
||||
jne @f
|
||||
call but_plane_inc
|
||||
call but_4
|
||||
@@:
|
||||
cmp ah,11
|
||||
jne @f
|
||||
call but_plane_dec
|
||||
call but_plane_inc
|
||||
@@:
|
||||
cmp ah,12
|
||||
jne @f
|
||||
call but_mode_pen
|
||||
call but_plane_dec
|
||||
@@:
|
||||
cmp ah,13
|
||||
jne @f
|
||||
call but_mode_brush
|
||||
call but_mode_pen
|
||||
@@:
|
||||
cmp ah,14
|
||||
jne @f
|
||||
call but_mode_clear
|
||||
call but_mode_brush
|
||||
@@:
|
||||
cmp ah,15
|
||||
jne @f
|
||||
call but_mode_clear
|
||||
@@:
|
||||
cmp ah,16
|
||||
jne @f
|
||||
stdcall set_pen_mode,PEN_MODE_SELECT_COLOR,3,((9 shl 8)+9) shl 16
|
||||
call draw_palete
|
||||
@@:
|
||||
cmp ah,16
|
||||
cmp ah,17
|
||||
jne @f
|
||||
call but_light
|
||||
@@:
|
||||
cmp ah,17
|
||||
cmp ah,18
|
||||
jne @f
|
||||
call but_rend_2_2
|
||||
@@:
|
||||
cmp ah,18
|
||||
cmp ah,19
|
||||
jne @f
|
||||
call but_brush_copy
|
||||
@@:
|
||||
cmp ah,19
|
||||
cmp ah,20
|
||||
jne @f
|
||||
call but_brush_draw
|
||||
@@:
|
||||
cmp ah,20
|
||||
cmp ah,21
|
||||
jne @f
|
||||
call but_brush_clear
|
||||
@@:
|
||||
cmp ah,21
|
||||
cmp ah,22
|
||||
jne @f
|
||||
call but_bru_w_m
|
||||
@@:
|
||||
cmp ah,22
|
||||
cmp ah,23
|
||||
jne @f
|
||||
call but_bru_w_p
|
||||
@@:
|
||||
cmp ah,23
|
||||
cmp ah,24
|
||||
jne @f
|
||||
call but_bru_h_m
|
||||
@@:
|
||||
cmp ah,24
|
||||
cmp ah,25
|
||||
jne @f
|
||||
call but_bru_h_p
|
||||
@@:
|
||||
@@ -772,7 +783,8 @@ button:
|
||||
stdcall [buf2d_delete],buf_r_img
|
||||
stdcall [buf2d_delete],buf_r_z
|
||||
@@:
|
||||
stdcall [buf2d_vox_brush_delete], buf_vox
|
||||
stdcall [buf2d_vox_brush_delete], buf_vox_g3
|
||||
stdcall [buf2d_vox_brush_delete], buf_vox_g2
|
||||
stdcall [buf2d_delete],buf_curs
|
||||
stdcall [buf2d_delete],buf_curs_8
|
||||
stdcall mem.Free,[image_data_toolbar]
|
||||
@@ -874,6 +886,19 @@ but_save_file:
|
||||
popad
|
||||
ret
|
||||
|
||||
;ᬥ<><E1ACA5> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>ᬮ<EFBFBD><E1ACAE> 3 <20> 2 <20>࠭<EFBFBD><E0A0AD>
|
||||
align 4
|
||||
but_camera_3g_2g:
|
||||
cmp dword[buf_vox],buf_vox_g3
|
||||
je @f
|
||||
mov dword[buf_vox],buf_vox_g3
|
||||
jmp .end_0
|
||||
@@:
|
||||
mov dword[buf_vox],buf_vox_g2
|
||||
.end_0:
|
||||
call draw_objects
|
||||
ret
|
||||
|
||||
;㢥<><E3A2A5>祭<EFBFBD><E7A5AD> <20><><EFBFBD><EFBFBD>⠡<EFBFBD>
|
||||
align 4
|
||||
but_zoom_p:
|
||||
@@ -1113,11 +1138,11 @@ push edi
|
||||
mov ebx,[scaled_zoom]
|
||||
sub eax,ebx
|
||||
inc ebx
|
||||
stdcall [buf2d_vox_obj_draw_3g_scaled], buf_r_img, buf_r_z, buf_vox,\
|
||||
stdcall [buf2d_vox_obj_draw_3g_scaled], buf_r_img, buf_r_z, [buf_vox],\
|
||||
[open_file_vox], 0,0, 0, ebx, [cam_x],[cam_y],[cam_z],eax, [sc.work_graph]
|
||||
bt dword[mode_light],0
|
||||
jnc @f
|
||||
stdcall [buf2d_vox_obj_draw_3g_shadows], buf_r_img, buf_r_z, buf_vox, 0,0, 0, ebx, 3
|
||||
stdcall [buf2d_vox_obj_draw_3g_shadows], buf_r_img, buf_r_z, [buf_vox], 0,0, 0, ebx, 3
|
||||
@@:
|
||||
xor ebx,ebx
|
||||
xor ecx,ecx
|
||||
@@ -1130,11 +1155,11 @@ push edi
|
||||
.end_scaled:
|
||||
|
||||
inc eax
|
||||
stdcall [buf2d_vox_obj_draw_3g], buf_r_img, buf_r_z, buf_vox, [open_file_vox], 0,0, 0, eax
|
||||
stdcall [buf2d_vox_obj_draw_3g], buf_r_img, buf_r_z, [buf_vox], [open_file_vox], 0,0, 0, eax
|
||||
stdcall [buf2d_vox_obj_draw_1g], buf_r_img, buf_r_z, [open_file_vox], 0,0, eax
|
||||
bt dword[mode_light],0
|
||||
jnc @f
|
||||
stdcall [buf2d_vox_obj_draw_3g_shadows], buf_r_img, buf_r_z, buf_vox, 0,0, 0, eax, 3
|
||||
stdcall [buf2d_vox_obj_draw_3g_shadows], buf_r_img, buf_r_z, [buf_vox], 0,0, 0, eax, 3
|
||||
@@:
|
||||
|
||||
mov edi,buf_r_img
|
||||
@@ -1143,11 +1168,11 @@ push edi
|
||||
stdcall [buf2d_img_wdiv2], edi
|
||||
shr buf2d_w,1
|
||||
|
||||
stdcall [buf2d_vox_obj_get_img_w_3g], buf_vox,[v_zoom]
|
||||
stdcall [buf2d_vox_obj_get_img_w_3g], [buf_vox],[v_zoom]
|
||||
mov ebx,[buf_0.w]
|
||||
sub ebx,eax
|
||||
shr ebx,1 ;ebx - <20><><EFBFBD> 業<><EFBFBD><E0AEA2> <20><><EFBFBD><EFBFBD><EFBFBD>쪨<EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD> <20><> <20><>ਧ<EFBFBD><E0A8A7>⠫<EFBFBD>
|
||||
stdcall [buf2d_vox_obj_get_img_h_3g], buf_vox,[v_zoom]
|
||||
stdcall [buf2d_vox_obj_get_img_h_3g], [buf_vox],[v_zoom]
|
||||
cmp eax,[buf_0.h]
|
||||
jg @f
|
||||
mov ecx,[buf_0.h]
|
||||
@@ -1433,25 +1458,25 @@ draw_objects:
|
||||
jmp .end_f
|
||||
@@:
|
||||
push eax ebx ecx
|
||||
stdcall [buf2d_vox_obj_get_img_w_3g], buf_vox,[v_zoom]
|
||||
stdcall [buf2d_vox_obj_get_img_w_3g], [buf_vox],[v_zoom]
|
||||
mov ebx,[buf_0.w]
|
||||
sub ebx,eax
|
||||
shr ebx,1 ;ebx - <20><><EFBFBD> 業<><EFBFBD><E0AEA2> <20><><EFBFBD><EFBFBD><EFBFBD>쪨<EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD> <20><> <20><>ਧ<EFBFBD><E0A8A7>⠫<EFBFBD>
|
||||
|
||||
xor ecx,ecx
|
||||
stdcall [buf2d_vox_obj_get_img_h_3g], buf_vox,[v_zoom]
|
||||
stdcall [buf2d_vox_obj_get_img_h_3g], [buf_vox],[v_zoom]
|
||||
cmp eax,[buf_0.h]
|
||||
jg @f
|
||||
mov ecx,[buf_0.h]
|
||||
sub ecx,eax
|
||||
shr ecx,1 ;ecx - <20><><EFBFBD> 業<><EFBFBD><E0AEA2> <20><><EFBFBD><EFBFBD><EFBFBD>쪨<EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD> <20><>
|
||||
shr ecx,1 ;ecx - <20><><EFBFBD> 業<><EFBFBD><E0AEA2> <20><><EFBFBD><EFBFBD><EFBFBD>쪨<EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>⨪<EFBFBD><E2A8AA><EFBFBD>
|
||||
@@:
|
||||
|
||||
mov eax,[v_zoom]
|
||||
cmp eax,[scaled_zoom]
|
||||
jg @f
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ०<><E0A5A6> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD>
|
||||
stdcall [buf2d_vox_obj_draw_3g], buf_0, buf_0z, buf_vox,\
|
||||
stdcall [buf2d_vox_obj_draw_3g], buf_0, buf_0z, [buf_vox],\
|
||||
[open_file_vox], ebx,ecx, 0, eax
|
||||
stdcall [buf2d_vox_obj_draw_pl], buf_pl, [open_file_vox],\
|
||||
OT_MAP_X,OT_MAP_Y,[tile_size], eax, [n_plane], [sc.work_graph]
|
||||
@@ -1459,19 +1484,19 @@ draw_objects:
|
||||
[open_file_vox], 0,0, eax
|
||||
bt dword[mode_light],0
|
||||
jnc .end_1
|
||||
stdcall [buf2d_vox_obj_draw_3g_shadows], buf_0, buf_0z, buf_vox, ebx,ecx, 0, eax, 3
|
||||
stdcall [buf2d_vox_obj_draw_3g_shadows], buf_0, buf_0z, [buf_vox], ebx,ecx, 0, eax, 3
|
||||
.end_1:
|
||||
jmp .end_0
|
||||
@@:
|
||||
;०<><E0A5A6> <20><><EFBFBD><EFBFBD>⠡<EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD>
|
||||
sub eax,[scaled_zoom]
|
||||
stdcall [buf2d_vox_obj_draw_3g_scaled], buf_0, buf_0z, buf_vox,\
|
||||
stdcall [buf2d_vox_obj_draw_3g_scaled], buf_0, buf_0z, [buf_vox],\
|
||||
[open_file_vox], 0,0, 0, [scaled_zoom], [cam_x],[cam_y],[cam_z],eax, [sc.work_graph] ;scroll -> 2^eax
|
||||
stdcall [buf2d_vox_obj_draw_pl_scaled], buf_pl, [open_file_vox],\
|
||||
OT_MAP_X,OT_MAP_Y,[tile_size], [scaled_zoom], [n_plane], [sc.work_graph],[cam_x],[cam_y],[cam_z],eax
|
||||
bt dword[mode_light],0
|
||||
jnc .end_2
|
||||
stdcall [buf2d_vox_obj_draw_3g_shadows], buf_0, buf_0z, buf_vox, 0,0, 0, [scaled_zoom], 3
|
||||
stdcall [buf2d_vox_obj_draw_3g_shadows], buf_0, buf_0z, [buf_vox], 0,0, 0, [scaled_zoom], 3
|
||||
.end_2:
|
||||
.end_0:
|
||||
pop ecx ebx eax
|
||||
@@ -1991,7 +2016,7 @@ buf_curs_8: ;
|
||||
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> ᮧ<><E1AEA7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쭮<EFBFBD><ECADAE> <20><><EFBFBD><EFBFBD><EFBFBD>筮<EFBFBD><E7ADAE> <20><><EFBFBD>ᥫ<EFBFBD>
|
||||
align 4
|
||||
vox_6_7_z:
|
||||
vox_6_7_z: ;<3B><><EFBFBD>ᥫ<EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> 3 <20>࠭<EFBFBD>
|
||||
dd 0,0,1,1,0,0,\
|
||||
0,2,2,2,2,0,\
|
||||
2,2,2,2,2,2,\
|
||||
@@ -2001,10 +2026,24 @@ dd 0,0,1,1,0,0,\
|
||||
0,0,3,3,0,0
|
||||
|
||||
align 4
|
||||
buf_vox:
|
||||
vox_6_4_z: ;<3B><><EFBFBD>ᥫ<EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> 2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>࠭<EFBFBD> <20> <20><><EFBFBD>孥<EFBFBD> <20>࠭<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
dd 1,2,3,3,2,1,\
|
||||
1,2,3,3,2,1,\
|
||||
1,2,3,3,2,1,\
|
||||
1,2,3,3,2,1
|
||||
|
||||
align 4
|
||||
buf_vox dd buf_vox_g3
|
||||
|
||||
buf_vox_g3:
|
||||
db 6,7,4,3 ;w,h,h_osn,n
|
||||
rb BUF_STRUCT_SIZE*(3+1)
|
||||
|
||||
align 4
|
||||
buf_vox_g2:
|
||||
db 6,4,0,3 ;w,h,h_osn,n
|
||||
rb BUF_STRUCT_SIZE*(3+1)
|
||||
|
||||
i_end:
|
||||
wnd_s_pos: ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⮢<EFBFBD><E2AEA2> <20><><EFBFBD><EFBFBD>樨 <20><><EFBFBD><EFBFBD>
|
||||
rq 0
|
||||
|
Reference in New Issue
Block a user