Welcome to the GBF Test Portal

This was built to track decompiler and CFG progress.

Decompiler Output

function public.updateAnimations()
{
    // RegionId(1)
    if (client.rat) 
    {
        lit#5 = 0;
        return lit#5;
    }
    // RegionId(2)
    else
    {
        lit#7 = 8;
        lit#8 = ".png";
        builtin_fn_call#9 = player.attr[lit#7].ends(lit#8);
        // RegionId(2)
        // RegionId(3)
        if (builtin_fn_call#9) 
        {
            lit#11 = null;
            // RegionId(3)
            // RegionId(4)
            if (player.vehicle == lit#11) 
            {
                lit#13 = null;
                // RegionId(5)
                if (player.banner != lit#13) 
                {
                    lit#16 = "onReplaceAnis";
                    fn_call#17 = findweapon#1(player.banner);
                    fn_call#19 = fn_call.hasfunction(lit#16);
                    temp.foundBanner = fn_call#19;
                    // RegionId(5)
                    // RegionId(6)
                    if (temp.foundBanner) 
                    {
                        fn_call#20 = findweapon#1(player.banner);
                        fn_call#22 = fn_call.onReplaceAnis();
                    }
                    lit#23 = 0;
                    return lit#23;
                }
            }
        }
        // RegionId(9)
        if (timevar2#24 < player.sparklerExpire) 
        {
            lit#26 = "dc_sparklertest_idle";
            lit#27 = "idle";
            fn_call#28 = replaceani#0(lit#27, lit#26);
            lit#29 = "dc_sparklertest_walk";
            lit#30 = "walk";
            fn_call#31 = replaceani#0(lit#30, lit#29);
            lit#33 = "idle";
            builtin_fn_call#34 = player.ani.pos(lit#33);
            lit#35 = 0;
            // RegionId(9)
            // RegionId(10)
            if (builtin_fn_call#34 >= lit#35) 
            {
                lit#36 = null;
                lit#37 = "dc_sparklertest_idle";
                fn_call#39 = setAni#38(lit#37, lit#36);
            }
            lit#40 = 0;
            return lit#40;
        }
        // RegionId(12)
        else
        {
            // RegionId(12)
            // RegionId(13)
            if (client.umbrella) 
            {
                lit#42 = null;
                // RegionId(14)
                if (player.umbrella != lit#42) 
                {
                    lit#44 = "updateAnis";
                    fn_call#45 = findweapon#1(player.umbrella);
                    fn_call#46 = fn_call.hasfunction(lit#44);
                    temp.foundUmbrella = fn_call#46;
                    // RegionId(14)
                    // RegionId(15)
                    if (temp.foundUmbrella) 
                    {
                        fn_call#47 = findweapon#1(player.umbrella);
                        fn_call#49 = fn_call.updateAnis();
                        lit#50 = "idle";
                        builtin_fn_call#51 = player.ani.pos(lit#50);
                        lit#52 = 0;
                        // RegionId(15)
                        // RegionId(16)
                        if (builtin_fn_call#51 >= lit#52) 
                        {
                            lit#53 = "grab";
                            builtin_fn_call#54 = player.ani.pos(lit#53);
                            lit#55 = 0;
                        }
                        // RegionId(17)
                        // RegionId(18)
                        if (phi<idx=0, regions=()>) 
                        {
                            fn_call#56 = findweapon#1(player.umbrella);
                            fn_call#58 = fn_call.setUmbrellaAni();
                        }
                    }
                    lit#59 = 0;
                    return lit#59;
                }
            }
            // RegionId(20)
            // RegionId(21)
            if (timevar2#24 < player.glowStickExpire) 
            {
                lit#62 = null;
                // RegionId(22)
                if (player.lastGlowstick != lit#62) 
                {
                    lit#63 = "_idle";
                    lit#64 = "idle";
                    fn_call#65 = replaceani#0(lit#64, player.lastGlowstick @ lit#63);
                    lit#66 = "_walk";
                    lit#67 = "walk";
                    fn_call#68 = replaceani#0(lit#67, player.lastGlowstick @ lit#66);
                    lit#69 = "idle";
                    builtin_fn_call#70 = player.ani.pos(lit#69);
                    lit#71 = 0;
                    // RegionId(22)
                    // RegionId(23)
                    if (builtin_fn_call#70 >= lit#71) 
                    {
                        lit#72 = null;
                        lit#73 = "_idle";
                        fn_call#74 = setAni#38(player.lastGlowstick @ lit#73, lit#72);
                    }
                    lit#75 = 0;
                    return lit#75;
                }
            }
            // RegionId(26)
            if (player.isonsnow) 
            {
                lit#78 = "cocogillman";
                // RegionId(27)
                if (player.account == lit#78) 
                {
                    lit#79 = 0;
                    return lit#79;
                }
                // RegionId(28)
                else
                {
                    lit#80 = "iskateidle";
                    lit#81 = "idle";
                    fn_call#82 = replaceani#0(lit#81, lit#80);
                    lit#83 = "iskatewalk";
                    lit#84 = "walk";
                    fn_call#85 = replaceani#0(lit#84, lit#83);
                    lit#87 = "iskateidle";
                    client.idleani = lit#87;
                    goto RegionId(35);
                }
            }
            // RegionId(29)
            else
            {
                // RegionId(29)
                // RegionId(30)
                if (!client.lantern) 
                {
                    fn_call#91 = extractfilebase#90(player.shield);
                    // RegionId(30)
                    // RegionId(31)
                    if (fn_call#91 in this.righthandshields) 
                    {
                        lit#94 = "idle";
                        lit#95 = "idle";
                        fn_call#96 = replaceani#0(lit#95, lit#94);
                        lit#97 = "walk";
                        lit#98 = "walk";
                        fn_call#99 = replaceani#0(lit#98, lit#97);
                        lit#100 = "idle";
                        client.idleani = lit#100;
                    }
                    // RegionId(32)
                    else
                    {
                        lit#101 = "iidle";
                        lit#102 = "idle";
                        fn_call#103 = replaceani#0(lit#102, lit#101);
                        lit#104 = "iwalk";
                        lit#105 = "walk";
                        fn_call#106 = replaceani#0(lit#105, lit#104);
                        lit#107 = "iidle";
                        client.idleani = lit#107;
                    }
                }
                // RegionId(33)
                else
                {
                    lit#109 = "onCheckTurnOn";
                    lit#111 = 0;
                    fn_call#112 = findweapon#1(client.lanternInfo[lit#111]);
                    fn_call#113 = fn_call.hasfunction(lit#109);
                    temp.foundLantern = fn_call#113;
                    // RegionId(33)
                    // RegionId(34)
                    if (temp.foundLantern) 
                    {
                        lit#114 = 0;
                        fn_call#115 = findweapon#1(client.lanternInfo[lit#114]);
                        fn_call#117 = fn_call.onCheckTurnOn();
                    }
                }
                lit#118 = "sit";
                lit#119 = "sit";
                fn_call#120 = replaceani#0(lit#119, lit#118);
                lit#121 = "push";
                lit#122 = "push";
                fn_call#123 = replaceani#0(lit#122, lit#121);
                lit#125 = "idle";
                builtin_fn_call#126 = player.ani.name.pos(lit#125);
                lit#127 = 0;
                // RegionId(35)
                // RegionId(36)
                if (builtin_fn_call#126 >= lit#127) 
                {
                    lit#128 = "classiciphone_lantern";
                    builtin_fn_call#129 = player.ani.name.starts(lit#128);
                    // RegionId(36)
                    // RegionId(37)
                    if (!builtin_fn_call#129) 
                    {
                        player.ani = client.idleani;
                    }
                }
                lit#130 = 0;
                return lit#130;
            }
        }
    }
}