Deltarune (Chapter 3) script viewer

← back to main script listing

gml_GlobalScript_scr_pingpong

(view raw script w/o annotations or w/e)
1
function 
scr_pingpong
scr_pingpong

function
scr_pingpong(arg0, arg1)
{ if (arg1 == 0) return arg0; var __value = scr_loop(arg0, arg1 * 2); if (__value > arg1) __value = (arg1 * 2) - __value; return __value; } function scr_pingpong_ext(arg0, arg1, arg2) { var __range = arg2 - arg1; if (__range == 0) return arg0; var __value = scr_loop(arg0 - arg1, __range * 2); if (__value > __range) __value = (__range * 2) - __value; return __value + arg1; } function scr_loop(arg0, arg1) { if (arg1 == 0) return arg0; var __value = arg0 % arg1; if (arg0 < 0) __value += arg1; return __value; } function scr_loop_ext(arg0, arg1, arg2) { var __range = arg2 - arg1; if (__range == 0) return arg0; var __amount = arg0 - arg1; var __value = __amount % __range; if (__value < 0)
scr_debug_print(string(__amount) + " % " + string(__range) + " = " + string(__value));
if (__amount < 0) __value += __range; return __value + arg1; }
(arg0, arg1)
2
{
3
    if (arg1 == 0)
4
        return arg0;
5
    var __value = scr_loop(arg0, arg1 * 2);
6
    if (__value > arg1)
7
        __value = (arg1 * 2) - __value;
8
    return __value;
9
}
10
11
function scr_pingpong_ext(arg0, arg1, arg2)
12
{
13
    var __range = arg2 - arg1;
14
    if (__range == 0)
15
        return arg0;
16
    var __value = scr_loop(arg0 - arg1, __range * 2);
17
    if (__value > __range)
18
        __value = (__range * 2) - __value;
19
    return __value + arg1;
20
}
21
22
function scr_loop(arg0, arg1)
23
{
24
    if (arg1 == 0)
25
        return arg0;
26
    var __value = arg0 % arg1;
27
    if (arg0 < 0)
28
        __value += arg1;
29
    return __value;
30
}
31
32
function scr_loop_ext(arg0, arg1, arg2)
33
{
34
    var __range = arg2 - arg1;
35
    if (__range == 0)
36
        return arg0;
37
    var __amount = arg0 - arg1;
38
    var __value = __amount % __range;
39
    if (__value < 0)
40
        
scr_debug_print
scr_debug_print

function
scr_debug_print(arg0)
{ } function print_message(arg0) { } function debug_print(arg0) { } function scr_debug_clear_all() { }
(string(__amount) + " % " + string(__range) + " = " + string(__value));
41
    if (__amount < 0)
42
        __value += __range;
43
    return __value + arg1;
44
}