Welcome to the GBF Test Portal

This was built to track decompiler and CFG progress.

Decompiler Output

Backtrace

{
  "frames": [
    {
      "line": 212,
      "file": ".\\gbf_core\\src\\decompiler\\function_decompiler_context.rs",
      "function": "gbf_core::decompiler::function_decompiler_context::FunctionDecompilerContext::pop_one_node"
    },
    {
      "line": 29,
      "function": "gbf_core::decompiler::handlers::general::impl$0::handle_instruction",
      "file": ".\\gbf_core\\src\\decompiler\\handlers\\general.rs"
    },
    {
      "line": 171,
      "function": "gbf_core::decompiler::function_decompiler_context::FunctionDecompilerContext::process_instruction",
      "file": ".\\gbf_core\\src\\decompiler\\function_decompiler_context.rs"
    },
    {
      "line": 467,
      "file": ".\\gbf_core\\src\\decompiler\\function_decompiler.rs",
      "function": "gbf_core::decompiler::function_decompiler::FunctionDecompiler::process_regions"
    },
    {
      "line": 286,
      "file": ".\\gbf_core\\src\\decompiler\\function_decompiler.rs",
      "function": "gbf_core::decompiler::function_decompiler::FunctionDecompiler::decompile"
    }
  ]
}

Context

{
  "current_block_id": {
    "index": 7,
    "block_type": "Normal",
    "address": 9104
  },
  "current_ast_node_stack": [],
  "current_instruction": {
    "opcode": "Pop",
    "operand": null,
    "address": 9105
  }
}
function onTimeout()
{
    fn_call#6 = this.isOpen();
    // RegionId(1)
    if (!fn_call#6) 
    {
        lit#7 = 0;
        return lit#7;
    }
    // RegionId(2)
    else
    {
        lit#8 = 1;
        fn_call#10 = settimer#9(lit#8);
        lit#11 = 0;
        temp.count = lit#11;
        lit#12 = 0;
        for (phi<idx=0, regions=()> : phi<idx=1, regions=()>) 
        {
            // RegionId(4)
            // RegionId(5)
            if (!temp.pl.isexternal) 
            {
                temp.count++;
            }
            phi<idx=0, regions=()>++;
        }
        lit#16 = "Players: ";
        GuiRCPlayersText.text = lit#16 @ temp.count;
        lit#17 = 0;
        return lit#17;
    }
}