Undertale script viewer

← back to main script listing

gml_Script_ossafe_file_text_open_read

(view raw script w/o annotations or w/e)
1
if (global.osflavor <= 2)
2
{
3
    return file_text_open_read(argument0);
4
}
5
else
6
{
7
    var name = string_lower(argument0);
8
    var file = ds_map_find_value(global.savedata, name);
9
    if (is_undefined(file))
10
        return undefined;
11
    var data = file;
12
    var num_lines = 0;
13
    var lines;
14
    while (string_byte_length(data) > 0)
15
    {
16
        var newline_pos = string_pos("
17
", data);
18
        var line;
19
        if (newline_pos > 0)
20
        {
21
            var nextline_pos = newline_pos + 1;
22
            if (newline_pos > 1 && string_char_at(data, newline_pos - 1) == "
23
")
24
                newline_pos--;
25
            if (newline_pos > 1)
26
                line = substr(data, 1, newline_pos - 1);
27
            else
28
                line = "";
29
            if (nextline_pos <= strlen(data))
30
                data = substr(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", 0);
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", 0);
47
    return handle;
48
}