Welcome to the GBF Test Portal

This was built to track decompiler and CFG progress.

Decompiler Output

Backtrace

{
  "frames": []
}

Context

{
  "current_block_id": {
    "index": 3,
    "address": 2918,
    "block_type": "Normal"
  },
  "current_ast_node_stack": [],
  "current_instruction": {
    "opcode": "Join",
    "operand": null,
    "address": 2919
  }
}
function onSendTriggerAction(client#5, npc#4, x#3, y#2, action#1, actionparams#0)
{
    lit#6 = "--- trigger: ";
    lit#7 = " - ";
    lit#8 = " - ";
    lit#9 = " - ";
    lit#10 = " - ";
    fn_call#12 = echo#11(((((((((lit#6 @ npc#4) @ lit#7) @ x#3) @ lit#8) @ y#2) @ lit#9) @ action#1) @ lit#10) @ actionparams#0);
    lit#15 = "   ";
    lit#16 = 0;
    lit#17 = 2;
    lit#18 = 110;
    builtin_fn_call#19 = min(x#3 * lit#17, lit#18);
    builtin_fn_call#20 = max(lit#16, builtin_fn_call#19);
    builtin_fn_call#21 = int(builtin_fn_call#20);
    lit#22 = 32;
    builtin_fn_call#23 = char(builtin_fn_call#21 + lit#22);
    lit#24 = 0;
    lit#25 = 2;
    lit#26 = 110;
    builtin_fn_call#27 = min(y#2 * lit#25, lit#26);
    builtin_fn_call#28 = max(lit#24, builtin_fn_call#27);
    builtin_fn_call#29 = int(builtin_fn_call#28);
    lit#30 = 32;
    builtin_fn_call#31 = char(builtin_fn_call#29 + lit#30);
    builtin_fn_call#32 = actionparams#0.length();
    lit#33 = 0;
    // RegionId(0)
    // RegionId(1)
    if (builtin_fn_call#32 > lit#33) 
    {
        lit#34 = ",";
    }
    // RegionId(2)
    else
    {
        lit#35 = "";
    }
    phi<idx=2, regions=()> = phi<idx=1, regions=()> @ phi<idx=0, regions=()>;
    lit#36 = 38;
    fn_call#38 = temp.client.sendData(lit#36, temp.data);
    lit#39 = 0;
    return lit#39;
}