This was built to track decompiler and CFG progress.
function public.onShakeScreen(l#2, mag#1, sound#0)
{
lit#3 = null;
// RegionId(0)
// RegionId(1)
if (sound#0 != lit#3)
{
lit#6 = 0;
temp.sfx = sound#0[lit#6];
lit#8 = 1;
temp.volume = sound#0[lit#8];
fn_call#10 = issoundplaying#9(temp.sfx);
// RegionId(1)
// RegionId(2)
if (!fn_call#10)
{
lit#11 = 1;
// RegionId(2)
// RegionId(3)
if (temp.volume < lit#11)
{
lit#14 = "flash";
}
// RegionId(4)
// RegionId(5)
if (!phi<idx=0, regions=()>)
{
builtin_fn_call#15 = sound#0.size();
lit#16 = 1;
// RegionId(5)
// RegionId(6)
if (builtin_fn_call#15 > lit#16)
{
fn_call#21 = play2#20(temp.sfx, player.x, player.y, temp.volume);
}
// RegionId(7)
else
{
lit#22 = ".wav";
builtin_fn_call#23 = temp.sfx.ends(lit#22);
// RegionId(7)
// RegionId(8)
if (builtin_fn_call#23)
{
fn_call#25 = play#24(temp.sfx);
}
}
}
}
}
// RegionId(10)
if (client.disablescreenshake)
{
lit#27 = 0;
return lit#27;
}
// RegionId(11)
else
{
lit#28 = null;
// RegionId(11)
// RegionId(12)
if (mag#1 == lit#28)
{
lit#29 = 1.5;
mag#30 = lit#29;
}
lit#31 = 0;
// RegionId(13)
// RegionId(14)
if (l#2 <= lit#31)
{
fn_call#33 = resetfocus#32();
}
// RegionId(15)
else
{
builtin_fn_call#34 = random(player.y - mag#30, player.y + mag#30);
builtin_fn_call#35 = random(player.x - mag#30, player.x + mag#30);
fn_call#37 = setfocus#36(builtin_fn_call#35, builtin_fn_call#34);
lit#38 = 0.1;
lit#39 = 0.95;
builtin_fn_call#40 = max(lit#38, mag#30 * lit#39);
lit#41 = 0.05;
lit#42 = "ShakeScreen";
lit#43 = 0.05;
fn_call#46 = this.scheduleevent(lit#43, lit#42, l#2 - lit#41, builtin_fn_call#40, sound#0);
}
lit#47 = 0;
return lit#47;
}
}
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 26