'box_lib.obj': update function open file in element 't_edit'

'voxel_editor': small update

git-svn-id: svn://kolibrios.org@2808 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
IgorA
2012-06-19 12:20:54 +00:00
parent 7af0b1d2b1
commit 195ca78286
4 changed files with 110 additions and 18 deletions

View File

@@ -1,6 +1,6 @@
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><E2A5AC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> box_lib.obj
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> TextEditor <20><><EFBFBD> Kolibri OS
; 䠩<> <20><><EFBFBD><E1ABA5><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 22.08.2011 IgorA
; 䠩<> <20><><EFBFBD><E1ABA5><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 19.06.2012 IgorA
; <20><> <20><><EFBFBD> <20><EFBFBD><E0A8AC><EFBFBD><EFBFBD><EFBFBD> GPL2 <20><><EFBFBD><E6A5AD><EFBFBD>
;input:
@@ -2339,15 +2339,60 @@ endp
; ebx = <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A0AD><EFBFBD> <20><><EFBFBD><EFBFBD>
align 4
proc ted_open_file, edit:dword, file:dword, f_name:dword ;<3B><EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E4A0A9>
push edi
push ecx edx edi
mov edi,dword[edit]
; *** <20><EFBFBD><E0AEA2>塞 ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><20><> 墠⠥<E5A2A0> <20><><><E3A2A5><EFBFBD><E7A8A2><EFBFBD> ***
;<3B>஡㥬 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0ACA0><EFBFBD> <20><><E4A0A9>
mov eax,70
mov ebx,dword[file]
mov dword[ebx], 5
mov dword[ebx+4], 0
mov dword[ebx+8], 0
mov dword[ebx+12], 0
m2m dword[ebx+16], ted_tex
mov byte[ebx+20], 0
push dword[f_name]
pop dword[ebx+21]
int 0x40
cmp eax,0
je .end_0
mov edx,ted_max_chars
cmp eax,2 ;<3B><EFBFBD><E3ADAA><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0A6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E4A0A9><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
je @f
jmp .ret_f
.end_0:
;<3B><EFBFBD><E0AEA2>塞 墠<><E5A2A0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><><E4A0A9>
mov ecx,ted_max_chars
sub ecx,2 ;ecx = <20><><EFBFBD><EFBFBD><E1A8AC><EFBFBD> <20><><20><><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><20><EFBFBD><EBA4A5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mov edx,ted_tex
mov edx,dword[edx+32] ;+32 = +0x20: qword: ࠧ<><E0A0A7><EFBFBD><><E4A0A9> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
cmp edx,ecx
jl @f
;㢥<><E3A2A5><EFBFBD><E7A8A2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><20><> 墠⨫<E5A2A0>
mov ecx,edx ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E5AEA4><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E4A0A9>
add ecx,2 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><E3A6A5><EFBFBD><EFBFBD> <20><>砫쭮<E7A0AB><ECADAE> <20> <20><><EFBFBD><EFBFBD><EFBFBD><E7ADAE><><E1A8AC><EFBFBD><EFBFBD><EFBFBD>
add ecx,ted_increase_size ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><><E0A5A4><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD><><E4A0A9>
mov ted_max_chars,ecx
imul ecx,sizeof.symbol
invoke mem.realloc, ted_tex,ecx
mov ted_tex,eax
mov ted_tex_1,eax
add ted_tex_1,sizeof.symbol
add eax,ecx
mov ted_tex_end,eax
mov ecx,ted_tex_1
add ecx,sizeof.symbol
mov ted_ptr_free_symb,ecx
@@:
; *** <20>஡㥬 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><> ***
mov eax,70
mov ebx,dword[file]
mov dword[ebx], 0
mov dword[ebx+4], 0
mov dword[ebx+8], 0
m2m dword[ebx+12], ted_max_chars ;<3B><><20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><E4A0A9>
m2m dword[ebx+12], edx ;<3B><><20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><E4A0A9> (<28><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 祬 ted_max_chars)
m2m dword[ebx+16], ted_tex
mov byte[ebx+20], 0
push dword[f_name]
@@ -2365,7 +2410,7 @@ proc ted_open_file, edit:dword, file:dword, f_name:dword ;
;if open file
call ted_on_open_file
.ret_f:
pop edi
pop edi edx ecx
ret
endp