Deltarune (Chapter 5) script viewer

← back to main script listing

gml_GlobalScript_scr_input_manager

(view raw script w/o annotations or w/e)
1
function scr_input_manager_init()
2
{
3
    global.kbdPressedMap = ds_map_create();
4
    global.kbdRepeatDelaySec = 0.4166666666666667;
5
    global.kbdRepeatDurationSec = 0.1;
6
}
7
8
function scr_input_manager_process()
9
{
10
    global.kbdBlocked = false;
11
}
12
13
function sunkus_kb_block()
14
{
15
    global.kbdBlocked = true;
16
}
17
18
function sunkus_kb_check(arg0)
19
{
20
    return global.kbdBlocked ? false : keyboard_check(arg0);
21
}
22
23
function sunkus_kb_check_pressed_with_repeat(arg0)
24
{
25
    if (global.kbdBlocked)
26
        return false;
27
    if (keyboard_check_pressed(arg0))
28
    {
29
        ds_map_set(global.kbdPressedMap, arg0, global.kbdRepeatDelaySec);
30
        return true;
31
    }
32
    if (keyboard_check(arg0))
33
    {
34
        if (ds_map_find_value(global.kbdPressedMap, arg0) == undefined)
35
            ds_map_set(global.kbdPressedMap, arg0, 0);
36
        var time = ds_map_find_value(global.kbdPressedMap, arg0) - (delta_time / 1000000);
37
        if (time < 0)
38
        {
39
            ds_map_set(global.kbdPressedMap, arg0, global.kbdRepeatDurationSec);
40
            return true;
41
        }
42
        ds_map_set(global.kbdPressedMap, arg0, time);
43
    }
44
    return false;
45
}
46
47
function sunkus_kb_check_pressed(arg0)
48
{
49
    return global.kbdBlocked ? false : keyboard_check_pressed(arg0);
50
}
51
52
function sunkus_kb_check_released(arg0)
53
{
54
    return global.kbdBlocked ? false : keyboard_check_released(arg0);
55
}
56
57
function sunkus_kb_check_direct(arg0)
58
{
59
    return global.kbdBlocked ? false : keyboard_check_direct(arg0);
60
}
61
62
function sunkus_kb_clear(arg0)
63
{
64
    return global.kbdBlocked ? false : keyboard_clear(arg0);
65
}