Welcome to the GBF Test Portal

This was built to track decompiler and CFG progress.

Decompiler Output

function onWalkSounds()
{
    fn_call#7 = gettileset#6();
    lit#8 = "winter";
    builtin_fn_call#9 = fn_call#7.pos(lit#8);
    lit#10 = 0;
    temp.winter = builtin_fn_call#9 > lit#10;
    lit#12 = 468;
    lit#13 = 453;
    lit#14 = 452;
    lit#15 = 1819;
    lit#16 = 1818;
    lit#17 = 4089;
    lit#18 = 4073;
    lit#19 = 2715;
    lit#20 = 2714;
    lit#21 = 2769;
    lit#22 = 2768;
    lit#23 = 2753;
    lit#24 = 2752;
    lit#25 = 2103;
    lit#26 = 2102;
    lit#27 = 2101;
    lit#28 = 502;
    lit#29 = 455;
    lit#30 = 454;
    lit#31 = 1803;
    lit#32 = 1802;
    lit#33 = 2785;
    lit#34 = 2784;
    lit#35 = 2699;
    lit#36 = 2698;
    lit#37 = 2047;
    lit#38 = 1023;
    lit#39 = 511;
    lit#40 = 696;
    lit#41 = 695;
    lit#42 = 694;
    lit#43 = 693;
    lit#44 = 503;
    lit#45 = 439;
    lit#46 = 438;
    lit#47 = 393;
    lit#48 = 392;
    lit#49 = 391;
    lit#50 = 390;
    lit#51 = 2683;
    lit#52 = 2682;
    lit#53 = 159;
    lit#54 = 158;
    lit#55 = 146;
    lit#56 = 680;
    lit#57 = 679;
    lit#58 = 678;
    lit#59 = 677;
    lit#60 = 487;
    lit#61 = 423;
    lit#62 = 422;
    lit#63 = 377;
    lit#64 = 376;
    lit#65 = 375;
    lit#66 = 374;
    lit#67 = 2667;
    lit#68 = 2666;
    lit#69 = 143;
    lit#70 = 1575;
    lit#71 = 130;
    lit#72 = 285;
    lit#73 = 284;
    lit#74 = 907;
    lit#75 = 16;
    lit#76 = 471;
    lit#77 = 407;
    lit#78 = 406;
    lit#79 = 361;
    lit#80 = 360;
    lit#81 = 359;
    lit#82 = 358;
    lit#83 = 2651;
    lit#84 = 2650;
    lit#85 = 205;
    lit#86 = 198;
    lit#87 = 114;
    lit#88 = 283;
    lit#89 = 319;
    lit#90 = 1;
    lit#91 = 0;
    temp.grassTiles = {lit#91, lit#90, lit#89, lit#88, lit#87, lit#86, lit#85, lit#84, lit#83, lit#82, lit#81, lit#80, lit#79, lit#78, lit#77, lit#76, lit#75, lit#74, lit#73, lit#72, lit#71, lit#70, lit#69, lit#68, lit#67, lit#66, lit#65, lit#64, lit#63, lit#62, lit#61, lit#60, lit#59, lit#58, lit#57, lit#56, lit#55, lit#54, lit#53, lit#52, lit#51, lit#50, lit#49, lit#48, lit#47, lit#46, lit#45, lit#44, lit#43, lit#42, lit#41, lit#40, lit#39, lit#38, lit#37, lit#36, lit#35, lit#34, lit#33, lit#32, lit#31, lit#30, lit#29, lit#28, lit#27, lit#26, lit#25, lit#24, lit#23, lit#22, lit#21, lit#20, lit#19, lit#18, lit#17, lit#16, lit#15, lit#14, lit#13, lit#12};
    lit#93 = 382;
    lit#94 = 381;
    lit#95 = 3027;
    lit#96 = 3026;
    lit#97 = 3025;
    lit#98 = 3024;
    lit#99 = 1827;
    lit#100 = 1826;
    lit#101 = 556;
    lit#102 = 555;
    lit#103 = 667;
    lit#104 = 490;
    lit#105 = 337;
    lit#106 = 336;
    lit#107 = 573;
    lit#108 = 460;
    lit#109 = 3011;
    lit#110 = 3010;
    lit#111 = 3009;
    lit#112 = 3008;
    lit#113 = 1811;
    lit#114 = 1810;
    lit#115 = 540;
    lit#116 = 539;
    lit#117 = 668;
    lit#118 = 474;
    lit#119 = 321;
    lit#120 = 320;
    lit#121 = 495;
    lit#122 = 494;
    lit#123 = 2995;
    lit#124 = 2994;
    lit#125 = 2993;
    lit#126 = 2992;
    lit#127 = 553;
    lit#128 = 552;
    lit#129 = 245;
    lit#130 = 317;
    lit#131 = 316;
    lit#132 = 315;
    lit#133 = 319;
    lit#134 = 318;
    lit#135 = 3015;
    lit#136 = 3014;
    lit#137 = 2979;
    lit#138 = 2978;
    lit#139 = 2977;
    lit#140 = 2976;
    lit#141 = 537;
    lit#142 = 536;
    lit#143 = 256;
    lit#144 = 301;
    lit#145 = 300;
    lit#146 = 299;
    lit#147 = 171;
    lit#148 = 170;
    lit#149 = 2999;
    lit#150 = 2998;
    lit#151 = 3040;
    lit#152 = 3028;
    lit#153 = 1851;
    lit#154 = 1850;
    lit#155 = 550;
    lit#156 = 549;
    lit#157 = 272;
    lit#158 = 285;
    lit#159 = 284;
    lit#160 = 283;
    lit#161 = 312;
    lit#162 = 301;
    lit#163 = 2983;
    lit#164 = 2982;
    lit#165 = 493;
    lit#166 = 3012;
    lit#167 = 1835;
    lit#168 = 1834;
    lit#169 = 532;
    lit#170 = 531;
    lit#171 = 213;
    lit#172 = 269;
    lit#173 = 268;
    lit#174 = 267;
    lit#175 = 15;
    lit#176 = 8;
    temp.dirtTiles = {lit#176, lit#175, lit#174, lit#173, lit#172, lit#171, lit#170, lit#169, lit#168, lit#167, lit#166, lit#165, lit#164, lit#163, lit#162, lit#161, lit#160, lit#159, lit#158, lit#157, lit#156, lit#155, lit#154, lit#153, lit#152, lit#151, lit#150, lit#149, lit#148, lit#147, lit#146, lit#145, lit#144, lit#143, lit#142, lit#141, lit#140, lit#139, lit#138, lit#137, lit#136, lit#135, lit#134, lit#133, lit#132, lit#131, lit#130, lit#129, lit#128, lit#127, lit#126, lit#125, lit#124, lit#123, lit#122, lit#121, lit#120, lit#119, lit#118, lit#117, lit#116, lit#115, lit#114, lit#113, lit#112, lit#111, lit#110, lit#109, lit#108, lit#107, lit#106, lit#105, lit#104, lit#103, lit#102, lit#101, lit#100, lit#99, lit#98, lit#97, lit#96, lit#95, lit#94, lit#93};
    lit#178 = 1272;
    lit#179 = 1271;
    lit#180 = 1256;
    lit#181 = 1255;
    lit#182 = 1194;
    lit#183 = 1193;
    lit#184 = 2848;
    lit#185 = 2848;
    lit#186 = 2876;
    lit#187 = 2875;
    lit#188 = 2937;
    lit#189 = 2936;
    lit#190 = 2805;
    lit#191 = 2832;
    lit#192 = 2860;
    lit#193 = 2859;
    lit#194 = 2921;
    lit#195 = 2920;
    lit#196 = 2817;
    lit#197 = 2816;
    lit#198 = 2844;
    lit#199 = 2843;
    lit#200 = 2729;
    lit#201 = 2728;
    lit#202 = 2804;
    lit#203 = 2800;
    lit#204 = 2828;
    lit#205 = 2827;
    lit#206 = 687;
    lit#207 = 686;
    temp.woodTiles = {lit#207, lit#206, lit#205, lit#204, lit#203, lit#202, lit#201, lit#200, lit#199, lit#198, lit#197, lit#196, lit#195, lit#194, lit#193, lit#192, lit#191, lit#190, lit#189, lit#188, lit#187, lit#186, lit#185, lit#184, lit#183, lit#182, lit#181, lit#180, lit#179, lit#178};
    lit#209 = 501;
    lit#210 = 473;
    lit#211 = 472;
    lit#212 = 500;
    lit#213 = 440;
    lit#214 = 457;
    lit#215 = 456;
    lit#216 = 427;
    lit#217 = 424;
    lit#218 = 441;
    lit#219 = 506;
    lit#220 = 411;
    lit#221 = 398;
    lit#222 = 409;
    lit#223 = 408;
    lit#224 = 398;
    temp.waterTiles = {lit#224, lit#223, lit#222, lit#221, lit#220, lit#219, lit#218, lit#217, lit#216, lit#215, lit#214, lit#213, lit#212, lit#211, lit#210, lit#209};
    lit#225 = "steps2.wav";
    temp.stepSound = lit#225;
    fn_call#226 = gettileset#6();
    lit#227 = "classiciphone_pics";
    builtin_fn_call#228 = fn_call#226.starts(lit#227);
    // RegionId(1)
    if (builtin_fn_call#228) 
    {
        lit#231 = 1.5;
        lit#233 = 2;
        temp.tile = tiles#229[player.x + lit#231][player.y + lit#233];
        lit#236 = null;
        // RegionId(2)
        if (player.level.footsounds != lit#236) 
        {
            fn_call#237 = randomstring#0(player.level.footsounds);
            temp.stepSound = fn_call#237;
            goto RegionId(17);
        }
        // RegionId(3)
        else
        {
            // RegionId(4)
            if (temp.tile in temp.dirtTiles) 
            {
                // RegionId(5)
                if (temp.tile in temp.grassTiles) 
                {
                    goto RegionId(6);
                }
                // RegionId(8)
                else
                {
                    // RegionId(8)
                    // RegionId(9)
                    if (temp.tile in temp.grassTiles) 
                    {
                        lit#241 = "steps_grass1.wav";
                        lit#242 = "steps_grass0.wav";
                        fn_call#243 = randomstring#0({lit#242, lit#241});
                        temp.stepSound = fn_call#243;
                    }
                    // RegionId(10)
                    else
                    {
                        // RegionId(10)
                        // RegionId(11)
                        if (temp.tile in temp.woodTiles) 
                        {
                            lit#244 = "steps_wood1.wav";
                            lit#245 = "steps_wood0.wav";
                            fn_call#246 = randomstring#0({lit#245, lit#244});
                            temp.stepSound = fn_call#246;
                        }
                        // RegionId(12)
                        else
                        {
                            // RegionId(12)
                            // RegionId(13)
                            if (temp.tile in temp.waterTiles) 
                            {
                                fn_call#247 = gettileset#6();
                                lit#248 = "winter";
                                builtin_fn_call#249 = fn_call#247.pos(lit#248);
                                lit#250 = 0;
                                // RegionId(13)
                                // RegionId(14)
                                if (builtin_fn_call#249 > lit#250) 
                                {
                                    lit#251 = "steps_ice2.wav";
                                    lit#252 = "steps_ice1.wav";
                                    lit#253 = "steps_ice0.wav";
                                    fn_call#254 = randomstring#0({lit#253, lit#252, lit#251});
                                    temp.stepSound = fn_call#254;
                                }
                                // RegionId(15)
                                else
                                {
                                    lit#255 = "steps_water1.wav";
                                    lit#256 = "steps_water0.wav";
                                    fn_call#257 = randomstring#0({lit#256, lit#255});
                                    temp.stepSound = fn_call#257;
                                }
                            }
                            // RegionId(16)
                            else
                            {
                                lit#258 = "steps2.wav";
                                temp.stepSound = lit#258;
                            }
                        }
                    }
                    lit#260 = "olddeadwood_inside_labyrinth";
                    builtin_fn_call#261 = player.level.name.starts(lit#260);
                    // RegionId(17)
                    // RegionId(18)
                    if (builtin_fn_call#261) 
                    {
                        lit#262 = "steps_echo.wav";
                        temp.stepSound = lit#262;
                    }
                    goto RegionId(20);
                }
            }
            // RegionId(6)
            else
            {
                // RegionId(7)
                if (phi<idx=0, regions=()>) 
                {
                    lit#238 = "steps_dirt3.wav";
                    lit#239 = "steps_dirt2.wav";
                    fn_call#240 = randomstring#0({lit#239, lit#238});
                    temp.stepSound = fn_call#240;
                    goto RegionId(17);
                }
                goto RegionId(8);
            }
        }
    }
    // RegionId(19)
    else
    {
        lit#263 = "steps2.wav";
        temp.stepSound = lit#263;
        lit#265 = "classiciphone_lantern_walk";
        lit#266 = "iwalk";
        lit#267 = "walk";
        // RegionId(20)
        // RegionId(21)
        if (player.ani.name in {lit#267, lit#266, lit#265}) 
        {
            lit#269 = 4;
            lit#270 = 0;
            // RegionId(22)
            if (player.anistep in {lit#270, lit#269}) 
            {
                lit#271 = 1;
                fn_call#273 = play2#272(temp.stepSound, player.x, player.y, lit#271);
                goto RegionId(32);
            }
        }
        // RegionId(23)
        // RegionId(24)
        if (client.rat) 
        {
            lit#277 = null;
            // RegionId(24)
            // RegionId(25)
            if (player.morphWeapon != lit#277) 
            {
                lit#278 = "onWalkSound";
                fn_call#280 = findweapon#279(player.morphWeapon);
                fn_call#282 = fn_call.hasFunction(lit#278);
                // RegionId(26)
                if (fn_call#282) 
                {
                    fn_call#283 = findweapon#279(player.morphWeapon);
                    fn_call#285 = fn_call.onWalkSound();
                    // RegionId(26)
                    // RegionId(27)
                    if (fn_call#285) 
                    {
                        lit#286 = 0.65;
                        fn_call#287 = play2#272(temp.stepSound, player.x, player.y, lit#286);
                    }
                    goto RegionId(32);
                }
            }
        }
        lit#288 = "swim_noaccessory";
        lit#289 = "swim_accessory";
        lit#290 = "swim";
        // RegionId(28)
        // RegionId(29)
        if (player.ani.name in {lit#290, lit#289, lit#288}) 
        {
            lit#291 = 1;
            // RegionId(29)
            // RegionId(30)
            if (player.anistep == lit#291) 
            {
                lit#295 = 0.1;
                // RegionId(30)
                // RegionId(31)
                if (timevar2#292 > (this.lastSplash + lit#295)) 
                {
                    lit#296 = 1;
                    lit#297 = "water.wav";
                    fn_call#298 = play2#272(lit#297, player.x, player.y, lit#296);
                    this.lastSplash = timevar2#292;
                }
            }
        }
        lit#299 = 0;
        return lit#299;
    }
}