Deltarune (Chapter 3) 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
        var time = ds_map_find_value(global.kbdPressedMap, arg0) - (delta_time / 1000000);
35
        if (time < 0)
36
        {
37
            ds_map_set(global.kbdPressedMap, arg0, global.kbdRepeatDurationSec);
38
            return true;
39
        }
40
        ds_map_set(global.kbdPressedMap, arg0, time);
41
    }
42
    return false;
43
}
44
45
function sunkus_kb_check_pressed(arg0)
46
{
47
    return global.kbdBlocked ? false : keyboard_check_pressed(arg0);
48
}
49
50
function sunkus_kb_check_released(arg0)
51
{
52
    return global.kbdBlocked ? false : keyboard_check_released(arg0);
53
}
54
55
function sunkus_kb_check_direct(arg0)
56
{
57
    return global.kbdBlocked ? false : keyboard_check_direct(arg0);
58
}
59
60
function sunkus_kb_clear(arg0)
61
{
62
    return global.kbdBlocked ? false : keyboard_clear(arg0);
63
}