The current implementation of Loop edge mode imposes a horizontal speed limit of 604 px/frame and a vertical speed limit of 376 px/frame. Above those speeds particles are bound to disappear as the clamping code in Simulation::do_move doesn't exactly handle particles outside a 3x3 screen boundary, of which the middle one is the visible screen, correctly.
I was thinking along the lines of fmodding nxf and nyf by XRES and YRES. (Edit: Rounding might need to be set to downward for this to work properly, I'm not even sure.)
What do you think? Would it even make sense to change this behaviour?
Yeah i also tested these limits, its funny how particles with high speed can seem to go in the opposite direction to their speed, and at 605vx they seem to not be moving.
And yes, would be cool to have higher limits because to strange things can get to 600 vx...
In my rewrite, I use this code for wrapping:
https://github.com/jacksonmj/The-Powder-Toy/blob/master/src/simulation/BasicData.hpp#L134-L172
https://github.com/jacksonmj/The-Powder-Toy/blob/master/src/common/tptmath.h#L48-L58