ID:2125505
 
For a little bit here, I was about to post an issue I was having with code where changing screen_loc on an object added to a client's screen changed their view position. After playing around with different values, I found out that the issue was that I was setting screen_loc = "WEST+1,NORTH+1" not realizing that screen objects are drawn from bottom left, not top left.

So yeah, don't set screen_loc to NORTH+n... ever.

WHY THIS IS A BAD THING:
Setting screen_loc to NORTH+n or EAST+n is bad because the system draws screen_loc from the bottom left. This means that a higher number causes the HUD object to move up and right like an actual grid.

Setting NORTH+n (where n is a positive integer) causes the HUD to escape the view, and thus BYOND tries to compensate by adjusting the view to see the object. Same goes for EAST+n.

WHY THIS IS A BIT CONFUSING:
Usually in programming, objects are drawn from top left to bottom right. I guess it's fine that BYOND has an easier way of drawing objects since it relates more to how math classes work on a grid. Just my own stupidity in not seeing what was wrong with my code.
It's perfectly fine to set screen_loc outside of the camera bounds, if that's what you want to do.

The only problem here is that you didn't know what you were doing.
In response to Kaiochao
Kaiochao wrote:
It's perfectly fine to set screen_loc outside of the camera bounds, if that's what you want to do.

The only problem here is that you didn't know what you were doing.

If you want to extend the screen size or move its position, sure. Again, as the short description clarifies, it's my own mental stupidity causing the problem, not the code.
This allows you to have screen objects without them having to impose themselves over your map, it'll simply extend the view to allow it (without expanding client.view). Totally meant to be used.