This was built to track decompiler and CFG progress.
function onHardRecoil(temp.dx, temp.dy, temp.recoil, temp.velocity)
{
lit#18 = 0;
// RegionId(0)
// RegionId(1)
if (player.hearts <= lit#18)
{
}
// RegionId(3)
if (phi<idx=0, regions=()>)
{
lit#20 = 0;
return lit#20;
}
// RegionId(4)
else
{
lit#21 = null;
// RegionId(4)
// RegionId(5)
if (temp.recoil == lit#21)
{
lit#22 = 5;
temp.recoil = lit#22;
}
lit#23 = null;
// RegionId(6)
// RegionId(7)
if (temp.velocity == lit#23)
{
lit#24 = 1;
temp.velocity = lit#24;
}
lit#25 = 0;
// RegionId(4)
// RegionId(9)
if (temp.dx == lit#25)
{
lit#26 = 0;
// RegionId(10)
if (temp.dy == lit#26)
{
lit#27 = 0;
return lit#27;
}
}
lit#28 = 0.5;
temp.dist = ((temp.dx * temp.dx) + (temp.dy * temp.dy)) ^ lit#28;
lit#29 = 22;
lit#30 = 21;
lit#31 = 20;
lit#32 = 11;
temp.blockingTiles = {lit#32, lit#31, lit#30, lit#29};
lit#35 = null;
// RegionId(11)
// RegionId(12)
if (player.gmap.name == lit#35)
{
}
// RegionId(13)
else
{
}
phi<idx=1, regions=()> = phi<idx=0, regions=()>;
// RegionId(14)
// RegionId(15)
if (player.vehicle)
{
// RegionId(15)
// RegionId(16)
if (!this.level.spar_horses)
{
fn_call#41 = player.vehicle.removePassenger();
fn_call#43 = player.vehicle.Off();
}
}
temp.ox = player.x;
temp.oy = player.y;
lit#44 = 0.25;
fn_call#45 = freezeplayer#10(lit#44);
lit#47 = "hurt";
player.ani = lit#47;
lit#48 = 0;
temp.i = lit#48;
// RegionId(19)
if (temp.i < temp.recoil)
{
lit#49 = null;
// RegionId(19)
// RegionId(20)
if (player.gmap.name == lit#49)
{
}
// RegionId(21)
else
{
}
phi<idx=1, regions=()> = phi<idx=0, regions=()>;
// RegionId(23)
if (temp.lvl != temp.startLevel)
{
goto RegionId(37);
}
// RegionId(24)
else
{
lit#50 = 0;
// RegionId(25)
if (player.hearts <= lit#50)
{
goto RegionId(37);
}
// RegionId(26)
else
{
// RegionId(27)
if (player.hurt)
{
goto RegionId(37);
}
// RegionId(28)
else
{
temp.x = temp.ox + ((temp.dx / temp.dist) * temp.i);
temp.y = temp.oy + ((temp.dy / temp.dist) * temp.i);
lit#51 = 1;
lit#52 = 0.5;
fn_call#53 = tiletype#8(temp.x + lit#52, temp.y + lit#51);
// RegionId(29)
if (fn_call#53 in temp.blockingTiles)
{
goto RegionId(37);
}
// RegionId(30)
else
{
lit#54 = 1;
lit#55 = 0.5;
lit#56 = 2;
fn_call#57 = tiletype#8((temp.x + lit#55) + lit#56, temp.y + lit#54);
// RegionId(31)
if (fn_call#57 in temp.blockingTiles)
{
goto RegionId(37);
}
// RegionId(32)
else
{
lit#58 = 1;
lit#59 = 2;
lit#60 = 0.5;
lit#61 = 2;
fn_call#62 = tiletype#8((temp.x + lit#60) + lit#61, (temp.y + lit#58) + lit#59);
// RegionId(33)
if (fn_call#62 in temp.blockingTiles)
{
goto RegionId(37);
}
// RegionId(34)
else
{
lit#63 = 1;
lit#64 = 2;
lit#65 = 0.5;
fn_call#66 = tiletype#8(temp.x + lit#65, (temp.y + lit#63) + lit#64);
// RegionId(35)
if (fn_call#66 in temp.blockingTiles)
{
goto RegionId(37);
}
// RegionId(36)
else
{
player.x = temp.x;
player.y = temp.y;
lit#67 = 0.05;
fn_call#68 = freezeplayer#10(lit#67);
lit#69 = "bleh";
lit#70 = 0.05;
builtin_fn_call#71 = waitfor(this#38, lit#69, lit#70);
temp.i = temp.i + temp.velocity;
goto RegionId(18);
}
}
}
}
}
}
}
}
// RegionId(37)
else
{
lit#72 = 0;
return lit#72;
}
}
}
Use the mouse wheel + shift to zoom in and out, and click and drag to pan.
Use the mouse wheel + shift to zoom in and out, and click and drag to pan.
Step 1 of 43