Undertale script viewer

← back to main script listing

gml_Script_scr_credits_short_draw_name

(view raw script w/o annotations or w/e)
1
var xx = argument0;
2
var yy = argument1;
3
var s = argument2;
4
var specialcase = 0;
5
if (xx < 0)
6
{
7
    specialcase = 1;
8
    xx = -xx;
9
}
10
if (global.language != "ja")
11
{
12
    draw_text(xx, yy, s);
13
    exit;
14
}
15
var xx0 = xx;
16
while (strlen(s) > 0)
17
{
18
    if (string_char_at(s, 1) == "#")
19
    {
20
        yy += 18;
21
        xx = xx0;
22
        s = substr(s, 2);
23
    }
24
    else
25
    {
26
        var is_ascii = string_char_at(s, 1) >= " " && string_char_at(s, 1) <= "~" && (!specialcase || (string_char_at(s, 1) != "(" && string_char_at(s, 1) != ")" && string_char_at(s, 1) != "1"));
27
        var len = 1;
28
        while (len < strlen(s) && string_char_at(s, 1 + len) != "#" && (string_char_at(s, 1 + len) >= " " && string_char_at(s, 1 + len) <= "~" && (!specialcase || (string_char_at(s, 1 + len) != "(" && string_char_at(s, 1 + len) != ")" && string_char_at(s, 1 + len) != "1"))) == is_ascii)
29
            len++;
30
        if (is_ascii)
31
            draw_set_font(fnt_maintext);
32
        else
33
            draw_set_font(fnt_ja_maintext);
34
        draw_text(xx, yy, substr(s, 1, len));
35
        xx += round(string_width(substr(s, 1, len)));
36
        s = substr(s, len + 1);
37
    }
38
}
39
draw_set_font(fnt_ja_maintext);