ID:2089755
 
Resolved
client.bounds returned incorrect values when edge_limit was set smaller than the view.
BYOND Version:510
Operating System:Windows 7 Ultimate 64-bit
Web Browser:Chrome 50.0.2661.102
Applies to:Dream Daemon
Status: Resolved (511.1350)

This issue has been resolved.
Assign a single value to edge_limit so that the viewport stays centered on a single tile:

edge_limit = "31,31"

Now read view_x or view_y. It will return that the bottom left corner of the client's viewport is at the bottom-left corner of tile 31,31 rather than where the bottom-left corner of the viewport actually is in the world.

For edge limits too small to fully enclose the screen, this is always the case. The client.bounds proc is taking the edge limit into account incorrectly and presuming that the bottom-left corner will always be at the bottom-left corner of the viewport, when this is not in fact always the case.
Although I could probably whip up a test case for this, if you have one handy it would help a lot.
Lummox JR resolved issue with message:
client.bounds returned incorrect values when edge_limit was set smaller than the view.