1 |
function ossafe_file_text_open_read_ch1(arg0) |
2 |
{ |
3 |
if (!global.is_console) |
4 |
{ |
5 |
return file_text_open_read(arg0); |
6 |
} |
7 |
else |
8 |
{ |
9 |
var name = string_lower(arg0); |
10 |
var file = ds_map_find_value(global.savedata, name); |
11 |
if (is_undefined(file)) |
12 |
return undefined; |
13 |
var data = file; |
14 |
var num_lines = 0; |
15 |
var lines; |
16 |
while (string_byte_length(data) > 0) |
17 |
{ |
18 |
var newline_pos = string_pos("\n", data); |
19 |
var line; |
20 |
if (newline_pos > 0) |
21 |
{ |
22 |
var nextline_pos = newline_pos + 1; |
23 |
if (newline_pos > 1 && string_char_at(data, newline_pos - 1) == "\r") |
24 |
newline_pos--; |
25 |
if (newline_pos > 1) |
26 |
line = substr_ch1(data, 1, newline_pos - 1); |
27 |
else |
28 |
line = ""; |
29 |
if (nextline_pos <= strlen_ch1(data)) |
30 |
data = substr_ch1(data, nextline_pos); |
31 |
else |
32 |
data = ""; |
33 |
} |
34 |
else |
35 |
{ |
36 |
line = data; |
37 |
data = ""; |
38 |
} |
39 |
lines[num_lines++] = line; |
40 |
} |
41 |
handle = ds_map_create(); |
42 |
ds_map_set(handle, "is_write", false); |
43 |
ds_map_set(handle, "text", lines); |
44 |
ds_map_set(handle, "num_lines", num_lines); |
45 |
ds_map_set(handle, "line", 0); |
46 |
ds_map_set(handle, "line_read", false); |
47 |
return handle; |
48 |
} |
49 |
} |