You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
AM2R-The-Horde-Multitroid/Export_Code/gml_Script_crypt.gml

43 lines
1.0 KiB

var Save27, gmid, key, read, file, epos, rate, keys, filesize;
if (!file_exists(argument0))
return -1;
Save27 = 0
gmid = string(game_id)
key = ""
read = 0
file = 0
epos = 0
rate = min(argument2, 10)
rate = max(rate, 0)
repeat (5)
gmid += gmid
epos = 0
repeat floor((string_length(string(game_id)) * 5))
{
keys[epos] = (ord(string_copy(gmid, epos, 2)) ^ (ord(string_char_at(argument1, Save27)) - floor((epos / 3))))
Save27 += 1
if (Save27 > string_length(argument1))
Save27 = 1
epos += 1
}
epos -= 1
Save27 = 0
file = file_bin_open(argument0, 2)
file_bin_seek(file, 0)
filesize = file_bin_size(file)
rate *= (filesize / 10000)
rate = round(rate)
do
{
read = file_bin_read_byte(file)
file_bin_seek(file, (file_bin_position(file) - 1))
file_bin_write_byte(file, (read ^ keys[Save27]))
Save27 += 1
if (Save27 > epos)
Save27 = 1
if rate
file_bin_seek(file, (file_bin_position(file) + rate))
} until (file_bin_position(file) >= filesize);
file_bin_close(file)
return 1;