Well adding an extra event, and then taking advantage of the time it takes to go from float to int gave me something like this:
[code:3aw0i21o]System: 0 ScrollY + clamp(DisplayHeight / 2 + floor(Sprite 0 .Y / DisplayHeight) * DisplayHeight - ScrollY, 0 -timedelta * DisplayHeight, timedelta * DisplayHeight) Different to ScrollY
System: 0 ScrollX Different to ScrollX + clamp(DisplayWidth / 2 + floor(Sprite 0 .X / DisplayWidth) * DisplayWidth - ScrollX, 0 -timedelta * DisplayWidth, timedelta * DisplayWidth)
> SystemSet time scale to 0[/code:3aw0i21o]
You still need to turn off bounded scrolling, or you'll get that bug at the end, bet ehh add a solid wall there.
You should be able to use time scale in the always event somehow, but Im not seeing it. Clamp is about the only usable function, but getting the numbers right is a pain.