Welcome to the GBF Test Portal

This was built to track decompiler and CFG progress.

Decompiler Output

function onCreated()
{
    fn_call#8 = Classic_ServerMap_LoadingScreen.destroy();
    lit#10 = 632;
    preloadleveldefaulttile#11 = lit#10;
    lit#13 = false;
    // RegionId(0)
    // RegionId(1)
    if (player.firstLogin == lit#13) 
    {
        fn_call#15 = onFirstLogin#14();
        lit#16 = true;
        player.firstLogin = lit#16;
        lit#19 = "house_";
        builtin_fn_call#20 = player.level.name.starts(lit#19);
        // RegionId(1)
        // RegionId(2)
        if (builtin_fn_call#20) 
        {
            lit#21 = "guildhouse_";
            builtin_fn_call#22 = player.level.name.starts(lit#21);
        }
        // RegionId(3)
        // RegionId(4)
        if (phi<idx=0, regions=()>) 
        {
            fn_call#24 = onFadeShow#23();
        }
    }
    fn_call#26 = checkAllowedToConnect#25();
    // RegionId(6)
    if (!fn_call#26) 
    {
        lit#27 = 0;
        return lit#27;
    }
    // RegionId(7)
    else
    {
        fn_call#29 = checkCheck#28();
        fn_call#33 = getGameSubVersion#32();
        this.classicversion = fn_call#33;
        lit#35 = "SERIAL";
        lit#36 = "android/os/Build";
        fn_call#38 = AndroidGetJavaStaticString#37(lit#36, lit#35);
        lit#39 = "";
        lit#40 = 0;
        lit#41 = null;
        temp.newclient = !(fn_call#38 in {lit#41, lit#40, lit#39});
        lit#42 = true;
        temp.newclient = lit#42;
        lit#45 = "android";
        // RegionId(7)
        // RegionId(8)
        if (player.platform == lit#45) 
        {
            fn_call#47 = getAndroidDeviceModel#46();
            fn_call#49 = lowercase#48(fn_call#47);
            lit#50 = "amazon";
            builtin_fn_call#51 = fn_call#49.starts(lit#50);
        }
        phi<idx=1, regions=()> = phi<idx=0, regions=()>;
        lit#52 = "android";
        // RegionId(10)
        // RegionId(11)
        if (player.platform == lit#52) 
        {
            // RegionId(11)
            // RegionId(12)
            if (!temp.newclient) 
            {
                // RegionId(12)
                // RegionId(13)
                if (!temp.amazondevice) 
                {
                    lit#54 = true;
                    player.androidupdaterequired = lit#54;
                }
            }
        }
        fn_call#57 = Adventure_getBuildTime#56();
        fn_call#61 = isPremiumVersion#60();
        fn_call#63 = getPremiumOption#62();
        lit#65 = "version";
        lit#66 = "-Games";
        lit#67 = "gui";
        fn_call#69 = triggerserver#68(lit#67, lit#66, lit#65, {graalversion#64, fn_call#63, fn_call#61, player.hasstolen, player.jailbroken, fn_call#57, player.realjailbroken, this.classicversion, player.androidupdaterequired});
        fn_call#71 = gmapCheck#70();
        fn_call#73 = onCheckSyncRadius#72();
        fn_call#75 = player.unfreezeplayer();
        fn_call#77 = takeplayercarry#76();
        lit#79 = 1;
        // RegionId(14)
        // RegionId(15)
        if (player.swordpower > lit#79) 
        {
            // RegionId(15)
            // RegionId(16)
            if (!clientr.isStaff) 
            {
                lit#82 = "swordalert";
                lit#83 = "gui";
                lit#84 = "-Games";
                fn_call#86 = lit.sendToServer2(lit#83, this#30, lit#82);
            }
        }
        lit#87 = "player_healthsystem";
        fn_call#89 = player.join(lit#87);
        fn_call#91 = initializeEngineOptions#90();
        fn_call#93 = initializeAnimations#92();
        fn_call#95 = initializeTileDefs#94();
        fn_call#97 = initializeDarkLevels#96();
        lit#98 = null;
        lit#99 = "CheckDeviceHat";
        lit#100 = 2;
        fn_call#102 = scheduleEvent#101(lit#100, lit#99, lit#98);
        fn_call#104 = onStaminaTick#103();
        lit#105 = "classiciphone.gmap";
        fn_call#106 = loadmap#5(lit#105);
        lit#107 = "balambisland.gmap";
        fn_call#108 = loadmap#5(lit#107);
        lit#109 = "balambisland2.gmap";
        fn_call#110 = loadmap#5(lit#109);
        lit#111 = "destiny_undergroundcaves.gmap";
        fn_call#112 = loadmap#5(lit#111);
        lit#113 = "railsystemcave.gmap";
        fn_call#114 = loadmap#5(lit#113);
        lit#115 = "event_cliffclimber.gmap";
        fn_call#116 = loadmap#5(lit#115);
        lit#117 = "newcastle_main.gmap";
        fn_call#118 = loadmap#5(lit#117);
        lit#119 = "testfort4.gmap";
        fn_call#120 = loadmap#5(lit#119);
        fn_call#122 = preloadFonts#121();
        fn_call#124 = preloadClasses#123();
        fn_call#126 = preloadDefaultGanis#125();
        lit#127 = "android";
        lit#128 = "iphone";
        // RegionId(17)
        // RegionId(18)
        if (player.platform in {lit#128, lit#127}) 
        {
            lit#129 = "print3d_background_default.jpg";
            fn_call#131 = fileupdate#130(lit#129);
            lit#132 = "print3d_background_gray.png";
            fn_call#133 = fileupdate#130(lit#132);
        }
        lit#134 = "bow_walk.gani";
        fn_call#135 = fileupdate#130(lit#134);
        lit#136 = "bow_unwalk.gani";
        fn_call#137 = fileupdate#130(lit#136);
        fn_call#139 = setOptions#138();
        fn_call#141 = checkRegisterForPushNotifications#140();
        fn_call#144 = Quattro::Platform::isSteam#143();
        // RegionId(19)
        // RegionId(20)
        if (fn_call#144) 
        {
            fn_call#146 = Steamworks::SteamUser::GetSteamID#145();
            fn_call#148 = fn_call.ToString();
        }
        // RegionId(21)
        else
        {
            lit#149 = "";
        }
        phi<idx=1, regions=()> = phi<idx=0, regions=()>;
        fn_call#150 = Quattro::Platform::isSteam#143();
        fn_call#153 = isworldsclient#152();
        lit#154 = "ver";
        lit#155 = "weapon";
        fn_call#156 = triggerserver#68(lit#155, this.name, lit#154, fn_call#153, debugversion#151, fn_call#150, temp.steamID, graalversion#64);
        fn_call#158 = onB#157();
        lit#160 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
        temp.chars = lit#160;
        lit#162 = "";
        player.randomseed = lit#162;
        lit#163 = 0;
        temp.i = lit#163;
        lit#164 = 5;
        while (temp.i < lit#164) 
        {
            lit#165 = 0;
            builtin_fn_call#166 = temp.chars.length();
            builtin_fn_call#167 = random(lit#165, builtin_fn_call#166);
            builtin_fn_call#168 = int(builtin_fn_call#167);
            temp.r = builtin_fn_call#168;
            lit#169 = 1;
            builtin_fn_call#170 = temp.chars.substring(temp.r, lit#169);
            player.randomseed = player.randomseed @ builtin_fn_call#170;
            temp.i++;
        }
        client.screensize = {screenwidth#176, screenheight#175, ControlsContainer.clientwidth, ControlsContainer.clientheight};
        fn_call#179 = canBuyFurniture#178();
        client.canBuyfurniture = fn_call#179;
        lit#181 = "";
        client.androidkeyboard = lit#181;
        lit#183 = "";
        // RegionId(25)
        // RegionId(26)
        if (client.profilelanguage == lit#183) 
        {
            lit#184 = "en";
            client.profilelanguage = lit#184;
        }
        // RegionId(27)
        // RegionId(28)
        if (client.geoip.country) 
        {
            client.country = client.geoip.country;
        }
        lit#188 = 7;
        // RegionId(29)
        // RegionId(30)
        if (client.clientversion >= lit#188) 
        {
            fn_call#190 = switchopengldevicescale#189();
        }
        lit#192 = "";
        client.usingstairs = lit#192;
        lit#193 = "";
        player.usingstairs = lit#193;
        lit#194 = null;
        lit#195 = "SyncTimevar";
        lit#196 = "gui";
        lit#197 = "-Games";
        fn_call#198 = lit.sendToServer2(lit#196, this.name, lit#195, lit#194);
        fn_call#200 = Sys_Hearts_Control.destroy();
        fn_call#202 = createHearts#201();
        // RegionId(31)
        // RegionId(32)
        if (graalreloaded#203) 
        {
            Worlds_BackControl_Button.visible = client.hideworldsquit;
        }
        fn_call#208 = CheckAndroidVersion#207();
        this.localaccount = player.account;
        lit#212 = "overworld_destiny_24.nw";
        lit#213 = "overworld_destiny_14.nw";
        lit#214 = "onnettown_inside_archery_02.nw";
        this.no_emote_levels = {lit#214, lit#213, lit#212};
        lit#216 = null;
        // RegionId(33)
        // RegionId(34)
        if (client.suicideCheck != lit#216) 
        {
            lit#217 = 2;
            lit#218 = 0;
            // RegionId(34)
            // RegionId(35)
            if (client.suicideCheck[lit#217] > lit#218) 
            {
                lit#219 = 3;
                fn_call#221 = onCountdownHurtbyTimer#220(client.suicideCheck[lit#219]);
            }
        }
        lit#223 = "onnettown_inside_itemshop_02.nw";
        lit#224 = "onnettown_inside_itemshop_01.nw";
        lit#225 = "onnettown_inside_itemshop.nw";
        this.noeffectlevels = {lit#225, lit#224, lit#223};
        lit#227 = "clientr.isStaff";
        this.a = lit#227;
        lit#229 = "clientr.isStaffDevice";
        this.b = lit#229;
        lit#230 = null;
        lit#231 = "onDoChecks";
        lit#232 = 5;
        fn_call#234 = ScheduleEvent#233(lit#232, lit#231, lit#230);
        lit#235 = null;
        lit#236 = "onFast";
        lit#237 = 5;
        fn_call#238 = ScheduleEvent#233(lit#237, lit#236, lit#235);
        lit#239 = 0;
        return lit#239;
    }
}