Welcome to the GBF Test Portal

This was built to track decompiler and CFG progress.

Decompiler Output

function public.onCheckSyncRadius()
{
    lit#6 = "SnowNoob";
    lit#7 = "regas";
    lit#8 = "DustyPorViva";
    lit#9 = "Coco";
    // RegionId(1)
    if (player.account in {lit#9, lit#8, lit#7, lit#6}) 
    {
        lit#11 = 16;
        lit#13 = 16;
        lit#14 = "distance";
        lit#15 = "syncoptions";
        fn_call#16 = sendtext#0(lit#15, lit#14, {screenwidth#12 / lit#13, screenheight#10 / lit#11});
        lit#17 = 0;
        return lit#17;
    }
    // RegionId(2)
    else
    {
        // RegionId(3)
        if (player.playingBomberman) 
        {
            lit#19 = 0;
            return lit#19;
        }
        // RegionId(4)
        else
        {
            lit#22 = "olddeadwood_";
            builtin_fn_call#23 = player.level.name.starts(lit#22);
            // RegionId(4)
            // RegionId(5)
            if (builtin_fn_call#23) 
            {
                // RegionId(6)
                if (!clientr.isStaff) 
                {
                    // RegionId(6)
                    // RegionId(7)
                    if (!clientr.quest_revivedDeadwood) 
                    {
                        lit#27 = 0;
                        lit#28 = 0;
                        lit#29 = "distance";
                        lit#30 = "syncoptions";
                        fn_call#31 = sendtext#0(lit#30, lit#29, {lit#28, lit#27});
                    }
                    // RegionId(8)
                    else
                    {
                        lit#32 = 20;
                        lit#33 = 20;
                        lit#34 = "distance";
                        lit#35 = "syncoptions";
                        fn_call#36 = sendtext#0(lit#35, lit#34, {lit#33, lit#32});
                    }
                    lit#37 = 0;
                    return lit#37;
                }
            }
            // RegionId(11)
            if (player.inNoSyncZone.level.name == player.level.name) 
            {
                lit#39 = 0;
                return lit#39;
            }
            // RegionId(12)
            else
            {
                lit#41 = 3;
                lit#42 = 3;
                temp.minsize = {lit#42, lit#41};
                lit#45 = "iphone";
                // RegionId(12)
                // RegionId(13)
                if (player.platform == lit#45) 
                {
                    lit#46 = 2048;
                    lit#47 = 1136;
                    lit#48 = 960;
                    // RegionId(14)
                    if (screenwidth#12 in {lit#48, lit#47, lit#46}) 
                    {
                        lit#49 = -3;
                        goto RegionId(16);
                    }
                }
                lit#50 = 0;
                phi<idx=1, regions=()> = phi<idx=0, regions=()>;
                lit#51 = "sparviewer";
                builtin_fn_call#52 = player.level.name.pos(lit#51);
                lit#53 = 0;
                // RegionId(16)
                // RegionId(17)
                if (builtin_fn_call#52 >= lit#53) 
                {
                    lit#54 = -5;
                    temp.overradius = lit#54;
                }
                this.oldsyncoverradius = temp.overradius;
                lit#58 = 1024;
                builtin_fn_call#59 = min(lit#58, screenheight#10);
                lit#60 = 16;
                lit#61 = 2;
                builtin_fn_call#63 = int(((builtin_fn_call#59 / lit#60) / lit#61) / player.zoomfactor);
                lit#64 = -7;
                builtin_fn_call#65 = max(temp.overradius, lit#64);
                lit#66 = 1024;
                builtin_fn_call#67 = min(lit#66, screenwidth#12);
                lit#68 = 16;
                lit#69 = 2;
                builtin_fn_call#70 = int(((builtin_fn_call#67 / lit#68) / lit#69) / player.zoomfactor);
                temp.maxsize = {builtin_fn_call#70 + temp.overradius, builtin_fn_call#63 + builtin_fn_call#65};
                lit#71 = 0;
                lit#73 = 1;
                builtin_fn_call#74 = min(player.currentsyncstep, lit#73);
                builtin_fn_call#75 = max(lit#71, builtin_fn_call#74);
                temp.step = builtin_fn_call#75;
                lit#76 = 1;
                lit#77 = 1;
                lit#78 = 1;
                builtin_fn_call#79 = int((temp.maxsize[lit#77] - temp.minsize[lit#78]) * temp.step);
                lit#80 = 0;
                lit#81 = 0;
                lit#82 = 0;
                builtin_fn_call#83 = int((temp.maxsize[lit#81] - temp.minsize[lit#82]) * temp.step);
                temp.cursize = {temp.minsize[lit#80] + builtin_fn_call#83, temp.minsize[lit#76] + builtin_fn_call#79};
                // RegionId(16)
                // RegionId(19)
                if (player.level.syncentirelevel) 
                {
                    lit#86 = null;
                    // RegionId(20)
                    if (player.gmap == lit#86) 
                    {
                        lit#87 = 64;
                        lit#88 = 64;
                        temp.cursize = {lit#88, lit#87};
                        // RegionId(25)
                        // RegionId(26)
                        if (this.noplayers) 
                        {
                            lit#107 = 0;
                            lit#108 = 0;
                            lit#109 = "distance";
                            lit#110 = "syncoptions";
                            fn_call#111 = sendtext#0(lit#110, lit#109, {lit#108, lit#107});
                        }
                        // RegionId(27)
                        else
                        {
                            lit#112 = "distance";
                            lit#113 = "syncoptions";
                            fn_call#114 = sendtext#0(lit#113, lit#112, temp.cursize);
                        }
                        client.syncstep = temp.step;
                        lit#117 = 1;
                        // RegionId(28)
                        // RegionId(29)
                        if (temp.step < lit#117) 
                        {
                            lit#118 = 0.1;
                            lit#119 = 1;
                            builtin_fn_call#120 = min(temp.step + lit#118, lit#119);
                            temp.step = builtin_fn_call#120;
                            player.currentsyncstep = temp.step;
                            lit#121 = "checksyncradius";
                            fn_call#123 = cancelevents#122(lit#121);
                            lit#124 = "checksyncradius";
                            lit#125 = 0.2;
                            fn_call#127 = scheduleevent#126(lit#125, lit#124);
                        }
                        lit#128 = 0;
                        return lit#128;
                    }
                }
                builtin_fn_call#90 = allplayers#89.size();
                lit#91 = 3500;
                // RegionId(22)
                if (builtin_fn_call#90 > lit#91) 
                {
                    lit#92 = 12;
                    lit#93 = 16;
                    lit#94 = "distance";
                    lit#95 = "syncoptions";
                    fn_call#96 = sendtext#0(lit#95, lit#94, {lit#93, lit#92});
                    lit#97 = 0;
                    return lit#97;
                }
                // RegionId(23)
                else
                {
                    builtin_fn_call#98 = allplayers#89.size();
                    lit#99 = 3000;
                    // RegionId(23)
                    // RegionId(24)
                    if (builtin_fn_call#98 > lit#99) 
                    {
                        lit#100 = 0;
                        lit#101 = 0;
                        lit#102 = 2;
                        temp.cursize[lit#100] = temp.cursize[lit#101] / lit#102;
                        lit#103 = 1;
                        lit#104 = 1;
                        lit#105 = 2;
                        temp.cursize[lit#103] = temp.cursize[lit#104] / lit#105;
                    }
                    goto RegionId(25);
                }
            }
        }
    }
}