Welcome to the GBF Test Portal

This was built to track decompiler and CFG progress.

Decompiler Output

function public.onFreezePlayerInIce(temp.time)
{
    lit#2 = 0.1;
    // RegionId(1)
    if (temp.time <= lit#2) 
    {
        lit#3 = 0;
        return lit#3;
    }
    // RegionId(2)
    else
    {
        // RegionId(3)
        if (player.frozen) 
        {
            lit#6 = 0;
            return lit#6;
        }
        // RegionId(4)
        else
        {
            lit#7 = true;
            player.frozen = lit#7;
            player.maxfreeze = temp.time;
            lit#9 = "IceFreezePlayer";
            fn_call#11 = cancelEvents#10(lit#9);
            fn_call#13 = onIceFreezePlayer#12(temp.time);
            lit#14 = 20001;
            fn_call#16 = hideimg#15(lit#14);
            lit#17 = 20001;
            fn_call#19 = findimg#18(lit#17);
            // RegionId(4)
            // RegionId(5)
            with (fn_call#19) 
            {
                lit#21 = true;
                attachtoowner#22 = lit#21;
                lit#24 = 1;
                layer#25 = lit#24;
                // RegionId(5)
                // RegionId(6)
                with (emitter#26) 
                {
                    lit#28 = 0.05;
                    delaymin#29 = lit#28;
                    lit#31 = 0.05;
                    delaymax#32 = lit#31;
                    lit#34 = 2;
                    nrofparticles#35 = lit#34;
                    lit#37 = false;
                    emitautomatically#38 = lit#37;
                    lit#40 = false;
                    autorotation#41 = lit#40;
                    lit#43 = true;
                    firstinfront#44 = lit#43;
                    lit#46 = 0;
                    lit#47 = 0;
                    lit#48 = 0;
                    emissionoffset#49 = {lit#48, lit#47, lit#46};
                    lit#51 = false;
                    attachposition#52 = lit#51;
                    lit#54 = false;
                    checkbelowterrain#55 = lit#54;
                    lit#57 = true;
                    continueafterdestroy#58 = lit#57;
                    lit#60 = 1000;
                    maxparticles#61 = lit#60;
                    // RegionId(6)
                    // RegionId(7)
                    with (particle#62) 
                    {
                        lit#64 = "dcfort_largeicepart0.png";
                        image#65 = lit#64;
                        lit#67 = 0.25;
                        zoom#68 = lit#67;
                        lit#70 = 1;
                        red#71 = lit#70;
                        lit#73 = 1;
                        green#74 = lit#73;
                        lit#76 = 1;
                        blue#77 = lit#76;
                        lit#79 = 0.75;
                        alpha#80 = lit#79;
                        lit#82 = 1;
                        mode#83 = lit#82;
                        lit#85 = 1.047197551;
                        zangle#86 = lit#85;
                        lit#88 = 1;
                        lifetime#89 = lit#88;
                        lit#91 = 5;
                        speed#92 = lit#91;
                        lit#93 = 1;
                        layer#94 = lit#93;
                    }
                    lit#95 = 360;
                    fn_call#97 = degtorad#96(lit#95);
                    lit#98 = 0;
                    fn_call#99 = degtorad#96(lit#98);
                    lit#100 = "replace";
                    lit#101 = "rotation";
                    lit#102 = 0;
                    lit#103 = 0;
                    lit#104 = "once";
                    fn_call#106 = addlocalmodifier#105(lit#104, lit#103, lit#102, lit#101, lit#100, fn_call#99, fn_call#97);
                    lit#107 = 1.570796326;
                    lit#108 = -1.570796326;
                    lit#109 = "replace";
                    lit#110 = "spin";
                    lit#111 = 0;
                    lit#112 = 0;
                    lit#113 = "once";
                    fn_call#114 = addlocalmodifier#105(lit#113, lit#112, lit#111, lit#110, lit#109, lit#108, lit#107);
                    lit#115 = 360;
                    fn_call#116 = degtorad#96(lit#115);
                    lit#117 = 0;
                    fn_call#118 = degtorad#96(lit#117);
                    lit#119 = "replace";
                    lit#120 = "angle";
                    lit#121 = 0;
                    lit#122 = 0;
                    lit#123 = "once";
                    fn_call#124 = addlocalmodifier#105(lit#123, lit#122, lit#121, lit#120, lit#119, fn_call#118, fn_call#116);
                    lit#125 = 20;
                    lit#126 = 16;
                    lit#127 = "replace";
                    lit#128 = "speed";
                    lit#129 = 0;
                    lit#130 = 0;
                    lit#131 = "once";
                    fn_call#132 = addlocalmodifier#105(lit#131, lit#130, lit#129, lit#128, lit#127, lit#126, lit#125);
                    lit#133 = 0.6;
                    lit#134 = 0.4;
                    lit#135 = "replace";
                    lit#136 = "zoom";
                    lit#137 = 0;
                    lit#138 = 0;
                    lit#139 = "once";
                    fn_call#140 = addlocalmodifier#105(lit#139, lit#138, lit#137, lit#136, lit#135, lit#134, lit#133);
                    lit#141 = 0.85;
                    lit#142 = 0.85;
                    lit#143 = "multiply";
                    lit#144 = "zoom";
                    lit#145 = 0;
                    lit#146 = 0;
                    lit#147 = "impulse";
                    fn_call#148 = addlocalmodifier#105(lit#147, lit#146, lit#145, lit#144, lit#143, lit#142, lit#141);
                    lit#149 = 0.85;
                    lit#150 = 0.85;
                    lit#151 = "multiply";
                    lit#152 = "speed";
                    lit#153 = 0;
                    lit#154 = 0;
                    lit#155 = "impulse";
                    fn_call#156 = addlocalmodifier#105(lit#155, lit#154, lit#153, lit#152, lit#151, lit#150, lit#149);
                    lit#157 = 1;
                    lit#158 = -1;
                    lit#159 = "add";
                    lit#160 = "x";
                    lit#161 = 0;
                    lit#162 = 0;
                    lit#163 = "once";
                    fn_call#164 = addlocalmodifier#105(lit#163, lit#162, lit#161, lit#160, lit#159, lit#158, lit#157);
                    lit#165 = 1;
                    lit#166 = -1;
                    lit#167 = "add";
                    lit#168 = "y";
                    lit#169 = 0;
                    lit#170 = 0;
                    lit#171 = "once";
                    fn_call#172 = addlocalmodifier#105(lit#171, lit#170, lit#169, lit#168, lit#167, lit#166, lit#165);
                    lit#173 = -0.2;
                    lit#174 = -0.2;
                    lit#175 = "add";
                    lit#176 = "zangle";
                    lit#177 = 0;
                    lit#178 = 0;
                    lit#179 = "impulse";
                    fn_call#180 = addlocalmodifier#105(lit#179, lit#178, lit#177, lit#176, lit#175, lit#174, lit#173);
                    lit#181 = 0;
                    lit#182 = 0.75;
                    lit#183 = "replace";
                    lit#184 = "alpha";
                    lit#185 = 1;
                    lit#186 = 0.25;
                    lit#187 = "range";
                    fn_call#188 = addlocalmodifier#105(lit#187, lit#186, lit#185, lit#184, lit#183, lit#182, lit#181);
                    lit#190 = 0;
                    temp.i = lit#190;
                    lit#191 = 3;
                    while (temp.i < lit#191) 
                    {
                        fn_call#193 = emit#192();
                        temp.i++;
                    }
                }
            }
            lit#194 = 0;
            return lit#194;
        }
    }
}