1) fix in system macro 'copy_path'

2) optimize program 'info3ds'

git-svn-id: svn://kolibrios.org@5881 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
IgorA
2015-11-05 15:25:54 +00:00
parent 4caeaae3c6
commit b1f79255ce
5 changed files with 64 additions and 97 deletions

View File

@@ -5,8 +5,6 @@ if not exist bin mkdir bin
if not exist bin\tl_sys_16.png @copy tl_sys_16.png bin\tl_sys_16.png if not exist bin\tl_sys_16.png @copy tl_sys_16.png bin\tl_sys_16.png
if not exist bin\toolbar.png @copy toolbar.png bin\toolbar.png if not exist bin\toolbar.png @copy toolbar.png bin\toolbar.png
if not exist bin\font8x9.bmp @copy ..\..\fs\kfar\trunk\font8x9.bmp bin\font8x9.bmp if not exist bin\font8x9.bmp @copy ..\..\fs\kfar\trunk\font8x9.bmp bin\font8x9.bmp
@fasm.exe -m 16384 ..\libraries\buf2d\trunk\buf2d.asm bin\buf2d.obj
@kpack bin\buf2d.obj
@fasm.exe -m 16384 info3ds.asm bin\info3ds.kex @fasm.exe -m 16384 info3ds.asm bin\info3ds.kex
@kpack bin\info3ds.kex @kpack bin\info3ds.kex
pause pause

View File

@@ -5,8 +5,6 @@ if not exist bin mkdir bin
if not exist bin\tl_sys_16.png @copy tl_sys_16.png bin\tl_sys_16.png if not exist bin\tl_sys_16.png @copy tl_sys_16.png bin\tl_sys_16.png
if not exist bin\toolbar.png @copy toolbar.png bin\toolbar.png if not exist bin\toolbar.png @copy toolbar.png bin\toolbar.png
if not exist bin\font8x9.bmp @copy ..\..\fs\kfar\trunk\font8x9.bmp bin\font8x9.bmp if not exist bin\font8x9.bmp @copy ..\..\fs\kfar\trunk\font8x9.bmp bin\font8x9.bmp
@fasm.exe -m 16384 ..\libraries\buf2d\trunk\buf2d.asm bin\buf2d.obj
@kpack bin\buf2d.obj
@fasm.exe -m 16384 info3ds.asm bin\info3ds.kex @fasm.exe -m 16384 info3ds.asm bin\info3ds.kex
@kpack bin\info3ds.kex @kpack bin\info3ds.kex
pause pause

View File

@@ -1,7 +1,7 @@
if lang eq ru if lang eq ru
capt db 'info 3ds <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 06.12.13',0 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> capt db 'info 3ds <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 05.11.15',0 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
else else
capt db 'info 3ds version 06.12.13',0 ;window caption capt db 'info 3ds version 05.11.15',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

@@ -32,7 +32,7 @@ struct FileInfoBlock
ends ends
run_file_70 FileInfoBlock run_file_70 FileInfoBlock
image_data dd 0 ;㪠<><E3AAA0><EFBFBD> <20><> <20><EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><EFBFBD><EFBFBD> <20><EFBFBD> <20><EFBFBD><EFBFBD><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD> image_data dd 0 ;㪠<><E3AAA0><EFBFBD> <20><> <20><EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><EFBFBD> <20><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD>
open_file_lif dd 0 ;㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E4A0A9><EFBFBD> 3ds open_file_lif dd 0 ;㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E4A0A9><EFBFBD> 3ds
open_file_size dd 0 ;ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E4A0A9> open_file_size dd 0 ;ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E4A0A9>
@@ -58,9 +58,9 @@ macro load_image_file path,buf,size { ;
db 0 db 0
@@: @@:
;32 - <20><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><E2A5AC><EFBFBD> <20><> ;32 - <20><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><E2A5AC><EFBFBD> <20><>
copy_path .path_str,[32],file_name,0x0 copy_path .path_str,[32],file_name,0
else else
copy_path path,[32],file_name,0x0 ;<3B><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><E4A0A9> <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD>, <20><><EFBFBD>ࠧ㬥<E0A0A7><E3ACA5><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20>ணࠬ<E0AEA3><E0A0AC><EFBFBD> copy_path path,[32],file_name,0 ;<3B><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><E4A0A9> <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD>, <20><><EFBFBD>ࠧ㬥<E0A0A7><E3ACA5><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20>ணࠬ<E0AEA3><E0A0AC><EFBFBD>
end if end if
stdcall mem.Alloc, dword size ;<3B><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD> stdcall mem.Alloc, dword size ;<3B><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD>
@@ -121,10 +121,19 @@ include 'info_wnd_coords.inc'
align 4 align 4
start: start:
load_libraries l_libs_start,l_libs_end load_libraries l_libs_start,l_libs_end
;<3B><EFBFBD><20><><>쪮 㤠筮 <20><><EFBFBD><EFBFBD><E3A7A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><EFBFBD> ;<3B><EFBFBD><20><><>쪮 㤠筮 <20><><EFBFBD><EFBFBD><E3A7A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mov ebp,lib_7 mov ebp,lib_0
cmp dword [ebp+ll_struc_size-4],0 cmp dword [ebp+ll_struc_size-4],0
jz @f jz @f
mov ebp,lib_1
cmp dword [ebp+ll_struc_size-4],0
jz @f
mov ebp,lib_2
cmp dword [ebp+ll_struc_size-4],0
jz @f
mov ebp,lib_3
cmp dword [ebp+ll_struc_size-4],0
jz @f
mcall -1 ;exit not correct mcall -1 ;exit not correct
@@: @@:
mcall 48,3,sc,sizeof.system_colors mcall 48,3,sc,sizeof.system_colors
@@ -205,11 +214,7 @@ align 4
timer_funct: timer_funct:
pushad pushad
if debug if debug
mov eax,4 mcall 4, (5 shl 16)+8, 0xff+0x80000000, txt_0002
mov ebx,(5 shl 16)+8
mov ecx,0xff+0x80000000
mov edx,txt_0002
int 0x40
end if end if
mcall 26,9 mcall 26,9
mov [last_time],eax mov [last_time],eax
@@ -423,22 +428,27 @@ button:
cmp ah,3 cmp ah,3
jne @f jne @f
call but_new_file call but_new_file
jmp still
@@: @@:
cmp ah,4 cmp ah,4
jne @f jne @f
call but_open_file call but_open_file
jmp still
@@: @@:
cmp ah,5 cmp ah,5
jne @f jne @f
call but_save_file call but_save_file
jmp still
@@: @@:
cmp ah,6 cmp ah,6
jne @f jne @f
call but_wnd_coords call but_wnd_coords
jmp still
@@: @@:
cmp ah,7 cmp ah,7
jne @f jne @f
call but_delete_chunk call but_delete_chunk
jmp still
@@: @@:
cmp ah,1 cmp ah,1
@@ -465,8 +475,8 @@ but_new_file:
align 4 align 4
but_open_file: but_open_file:
pushad
copy_path open_dialog_name,communication_area_default_path,file_name,0 copy_path open_dialog_name,communication_area_default_path,file_name,0
pushad
mov [OpenDialog_data.type],0 mov [OpenDialog_data.type],0
stdcall [OpenDialog_Start],OpenDialog_data stdcall [OpenDialog_Start],OpenDialog_data
cmp [OpenDialog_data.status],2 cmp [OpenDialog_data.status],2
@@ -952,9 +962,8 @@ but_delete_chunk:
;output: ;output:
; eax - <20><> ; eax - <20><>
align 4 align 4
proc conv_str_to_int, buf:dword proc conv_str_to_int uses ebx ecx esi, buf:dword
xor eax,eax xor eax,eax
push ebx ecx esi
xor ebx,ebx xor ebx,ebx
mov esi,[buf] mov esi,[buf]
;<3B><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A5AB><EFBFBD><EFBFBD> <20><> ;<3B><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A5AB><EFBFBD><EFBFBD> <20><>
@@ -1016,7 +1025,6 @@ proc conv_str_to_int, buf:dword
sub ecx,eax sub ecx,eax
mov eax,ecx mov eax,ecx
@@: @@:
pop esi ecx ebx
ret ret
endp endp
@@ -1079,20 +1087,20 @@ lib_name_2 db 'box_lib.obj',0
err_msg_found_lib_2 db '<27><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',39,'box_lib.obj',39,0 err_msg_found_lib_2 db '<27><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',39,'box_lib.obj',39,0
err_msg_import_2 db '<27><EFBFBD><E8A8A1> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',39,'box_lib',39,0 err_msg_import_2 db '<27><EFBFBD><E8A8A1> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',39,'box_lib',39,0
system_dir_7 db '/sys/lib/' system_dir_3 db '/sys/lib/'
lib_name_7 db 'buf2d.obj',0 lib_name_3 db 'buf2d.obj',0
err_msg_found_lib_7 db '<27><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',39,'buf2d.obj',39,0 err_msg_found_lib_3 db '<27><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',39,'buf2d.obj',39,0
err_msg_import_7 db '<27><EFBFBD><E8A8A1> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',39,'buf2d',39,0 err_msg_import_3 db '<27><EFBFBD><E8A8A1> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',39,'buf2d',39,0
l_libs_start: l_libs_start:
lib0 l_libs lib_name_0, sys_path, file_name, system_dir_0,\ lib_0 l_libs lib_name_0, sys_path, file_name, system_dir_0,\
err_message_found_lib_0, head_f_l, proclib_import,err_message_import_0, head_f_i err_message_found_lib_0, head_f_l, proclib_import,err_message_import_0, head_f_i
lib1 l_libs lib_name_1, sys_path, file_name, system_dir_1,\ lib_1 l_libs lib_name_1, sys_path, file_name, system_dir_1,\
err_message_found_lib_1, head_f_l, import_libimg, err_message_import_1, head_f_i err_message_found_lib_1, head_f_l, import_libimg, err_message_import_1, head_f_i
lib_2 l_libs lib_name_2, sys_path, library_path, system_dir_2,\ lib_2 l_libs lib_name_2, sys_path, library_path, system_dir_2,\
err_msg_found_lib_2,head_f_l,import_box_lib,err_msg_import_2,head_f_i err_msg_found_lib_2,head_f_l,import_box_lib,err_msg_import_2,head_f_i
lib_7 l_libs lib_name_7, sys_path, library_path, system_dir_7,\ lib_3 l_libs lib_name_3, sys_path, library_path, system_dir_3,\
err_msg_found_lib_7,head_f_l,import_buf2d,err_msg_import_7,head_f_i err_msg_found_lib_3,head_f_l,import_buf2d,err_msg_import_3,head_f_i
l_libs_end: l_libs_end:
align 4 align 4
@@ -1327,37 +1335,7 @@ rb 2+2+2+2+4+4+4+4+4+4
.ar_offset dd 1 ;+84 .ar_offset dd 1 ;+84
;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20><><EFBFBD>, <20><> <20><EFBFBD><EFBFBD><E0A0A7><EFBFBD> <20><><20> <20><><EFBFBD>
;input:
; eax = value
; edi = string buffer
;output:
align 4 align 4
tl_convert_to_str:
pushad
mov dword[edi+1],0;0x20202020
call .str
popad
ret
align 4
.str:
mov ecx,0x0a ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E1ABA5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A5A3><EFBFBD><EFBFBD><EFBFBD> ebx,eax,ecx,edx <20><EFBFBD><E5AEA4><EFBFBD> <20><><EFBFBD><E0A0AC><EFBFBD><EFBFBD> eax - <20><>
;<3B><><EFBFBD><EFBFBD><E0A5A2> <20><><20> ASCII <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ecx=<3D><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E1ABA5> edi <20><><EFBFBD><EFBFBD><EFBFBD> <20><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBA2A0>, <20><EFBFBD> <20><><EFBFBD>, <20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD>
cmp eax,ecx ;<3B><EFBFBD><E0A0A2><EFBFBD><EFBFBD> <20><20> eax <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20> ecx <20><> <20><><EFBFBD><E0A5A9> <20><> @@-1 <20>.<2E>. <20><> pop eax
jb @f
xor edx,edx ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> edx
div ecx ;ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><20> edx
push edx ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20>
;dec edi ;ᬥ饭<E1ACA5><E9A5AD> <20><><EFBFBD><EFBFBD><EFBFBD><E5AEA4><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
call .str ;<3B><><EFBFBD><E0A5A9> <20><><><> <20>.<2E>. <20><EFBFBD><EBA7A2><EFBFBD><><> <20><20><><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> eax <20><> <20><EFBFBD><E2A0AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20> ecx
pop eax
@@: ;cmp al,10 ;<3B><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><E7A5AD> <20> al 祬 10 (<28><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E1ABA5> 10 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD>))
or al,0x30 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD> <20><><EFBFBD><EFBFBD>
stosb ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><><E0A5A3><EFBFBD><EFBFBD><EFBFBD> al <20> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> es:edi
ret ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20>.<2E>. <20><><EFBFBD><EFBFBD> <20> <20><EFBFBD> <20><EFBFBD><E0A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>-<2D><> <20><EFBFBD><EBA7AE><EFBFBD> <20><> <20>⮫쪮 ࠧ <20><> <20> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EBA2A0><EFBFBD><EFBFBD>
i_end: i_end:
rb 1024 rb 1024
thread_coords: thread_coords:
@@ -1365,7 +1343,7 @@ thread_coords:
stacktop: stacktop:
sys_path rb 1024 sys_path rb 1024
file_name: file_name:
rb 1024 ;4096 rb 4096
library_path rb 1024 library_path rb 1024
plugin_path rb 4096 plugin_path rb 4096
openfile_path rb 4096 openfile_path rb 4096

View File

@@ -143,55 +143,48 @@ run_notify_struct:
align 4 align 4
@copy_path: @copy_path:
; mov ebx,@library_name mov esi,@cur_dir_path
mov esi,@cur_dir_path mov edi,@library_path
mov edi,@library_path xor eax,eax
cld
xor eax,eax
cld
align 4 align 4
.lp1: .lp1:
lodsb lodsb
stosb stosb
test eax,eax test eax,eax
jnz .lp1 jnz .lp1
mov esi,edi mov esi,edi
dec esi ;<3B><><EFBFBD><EFBFBD><20><><><E1A8AC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> @cur_dir_path
std std
align 4 align 4
.lp2: .lp2:
lodsb lodsb
cmp al,'/' cmp al,'/'
jnz .lp2 jnz .lp2
mov edi,esi mov edi,esi
add edi,2
add edi,2 cld
cld mov esi,@point_dir_name
; mov esi,@library_name test esi,esi
mov esi,@point_dir_name
test esi,esi
jz .str_lp4 jz .str_lp4
align 4 align 4
.lp3: .lp3:
lodsb lodsb
stosb stosb
test eax,eax test eax,eax
jnz .lp3 jnz .lp3
dec edi
dec edi
.str_lp4: .str_lp4:
mov esi,@library_name mov esi,@library_name
align 4 align 4
.lp4: .lp4:
lodsb lodsb
stosb stosb
test eax,eax test eax,eax
jnz .lp4 jnz .lp4
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
ret ret
} }