Undertale script viewer

← back to main script listing

gml_Script_string_to_hiragana

(view raw script w/o annotations or w/e)
1
var str = argument0;
2
var result = "";
3
var lastch = "";
4
for (var i = 1; i <= string_length(str); i++)
5
{
6
    var ch = ord(string_char_at(str, i));
7
    if (ch >= 12449 && ch <= 12534)
8
    {
9
        ch -= 96;
10
    }
11
    else if (ch >= 65377 && ch <= 65439)
12
    {
13
        var halfkata = "。「」、・をぁぃぅぇぉャュョッーあいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわん゛゜";
14
        ch = ord(string_char_at(halfkata, ch - 65376));
15
        if (lastch != "")
16
        {
17
            if (ch == 12443)
18
            {
19
                var daku_from = "かきくけこさしすせそたちつてとはひふへほ";
20
                var daku_to = "がぎぐげござじずぜぞだぢづでどばびぶべぼ";
21
                var pos = string_pos(lastch, daku_from);
22
                if (pos != 0)
23
                    ch = ord(string_char_at(daku_to, pos));
24
            }
25
            else if (ch == 12444)
26
            {
27
                var handaku_from = "はひふへほ";
28
                var handaku_to = "ぱぴぷぺぽ";
29
                var pos = string_pos(lastch, handaku_from);
30
                if (pos != 0)
31
                    ch = ord(string_char_at(handaku_to, pos));
32
            }
33
        }
34
    }
35
    lastch = chr(ch);
36
    result += lastch;
37
}
38
return result;