When updating client.pixel_x/y rapidly (like once per tick), the screen does not update immediately. Instead, it jerks ahead every 1-3 seconds (perhaps whenever the offset total has increased by a multiple of world.icon_size or more)
Numbered Steps to Reproduce Problem:
http://www.polatrite.com/files/ClientPixelBug.zip
Code Snippet (if applicable) to Reproduce Problem:
http://www.polatrite.com/files/ClientPixelBug.zip
Expected Results:
Updating client.pixel_x/y should update the client immediately.
Actual Results:
As indicated above, the client is only updated "every so often" - 1-3 seconds, and then the client view jerks, instead of updating smoothly.
When does the problem NOT occur?
If you move the client view using the arrow keys, the client will update correctly as long as you keep moving.
Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? (Visit http://www.byond.com/download/build to download old versions for testing.)
I have not checked this.
Workarounds:
I do not know of any workaround at this time, if the updates need to be performed while the client view remains still (such as in my case).
Thanks for investigating!
~Polatrite~
If you set pixel_step_size to 1 then move, it will act as though the step_size is still automatic, and only switch explicitly to 1 near the tail-end of the movement.
Disable the while() loop and add client/pixel_step_size = 1 to see this problem.