15,6 → 15,9 |
dword remove_pointer; |
byte remove(dword path); |
|
dword open_pointer; |
dword open(dword path); |
|
dword read_pointer; |
dword read(dword path); |
|
27,10 → 30,14 |
dword copy_pointer; |
byte copy(dword path1,path2); |
|
dword write_pointer; |
byte write(dword path1,path2,path3); |
|
dword get_size_pointer; |
qword get_size(dword path); |
|
dword callback_copy; |
dword callback_copy_pointer; |
byte callback_copy(dword path1,path2,ptr); |
} fs; |
|
:byte FILE_SYSTEM_FUNCTION::remove(dword path) |
49,6 → 56,16 |
return EAX; |
} |
|
:byte FILE_SYSTEM_FUNCTION::write(dword path1,path2,path3) |
{ |
dword tmp1 = path1; |
dword tmp2 = path2; |
dword tmp3 = path3; |
lib_init_fs(); |
write_pointer stdcall(tmp1,tmp2,tmp3); |
return EAX; |
} |
|
:dword FILE_SYSTEM_FUNCTION::run(dword path,arg) |
{ |
dword tmp1 = path1; |
62,7 → 79,17 |
{ |
dword tmp = path; |
lib_init_fs(); |
get_size_pointer stdcall(tmp); |
//get_size_pointer stdcall(tmp); |
$push tmp |
$call get_size_pointer |
$add esi,4 |
} |
|
:dword FILE_SYSTEM_FUNCTION::open(dword path) |
{ |
dword tmp = path; |
lib_init_fs(); |
open_pointer stdcall(tmp); |
return EAX; |
} |
|
84,6 → 111,16 |
return EAX; |
} |
|
:byte FILE_SYSTEM_FUNCTION::callback_copy(dword path1,path2,ptr) |
{ |
dword tmp1 = path1; |
dword tmp2 = path2; |
lib_init_fs(); |
callback_copy_pointer stdcall(tmp1,tmp2,ptr); |
return EAX; |
} |
|
|
:byte __CHECK_FS__ = 0; |
:void lib_init_fs() |
{ |
92,10 → 129,12 |
fs.remove_pointer = library.get("fs.remove"); |
fs.get_size_pointer = library.get("fs.get_size"); |
fs.move_pointer = library.get("fs.move"); |
fs.open_pointer = library.get("fs.open"); |
fs.copy_pointer = library.get("fs.copy"); |
fs.read_pointer = library.get("fs.read"); |
fs.run_pointer = library.get("fs.execute"); |
fs.callback_copy = library.get("fs.callback_copy"); |
fs.write_pointer = library.get("fs.write"); |
fs.callback_copy_pointer = library.get("fs.callback_copy"); |
__CHECK_FS__ = true; |
} |
|