ID:2390739
 
Resolved
Visual bounds of off-map objects were calculated incorrectly in cases like using KEEP_TOGETHER and vis_contents together. This algorithm has been reworked for better accuracy and efficiency.
BYOND Version:512.1445
Operating System:Windows 10 Home 64-bit
Web Browser:Chrome 68.0.3440.106
Applies to:Dream Seeker
Status: Resolved (512.1446)

This issue has been resolved.
(This is already resolved, just making the report)

Descriptive Problem Summary:

When you have an object that has a large block of turfs as its vis_contents, it'll drop those vis_contents from view when the object's lower-left corner goes out of view, not respecting the visual bounds of the object.

Numbered Steps to Reproduce Problem:

1) Add a 14x14 block() of turfs to an object's vis_contents.
2) Add that object to the map.
3) Move around and watch the things within that block pop in and out of view as the object does.
4) Stab your own eyeballs as they continue to do so even when the icon of the object is visible.

Code Snippet (if applicable) to Reproduce Problem:
[Sent as a test case]


Expected Results:

Be able to see the things within the object's vis_contents as long as you're within its visual bounds.

Actual Results:

Aforementioned eyeball stabbing.

Does the problem occur:
Every time? Or how often? It's fixed when I go forward in time and use 1446.
In other games? If there are other games doing the madness I was, kudos to them.
In other user accounts? Yep.
On other computers? Yep.

When does the problem NOT occur?

When you give up and do something less efficient and cool-looking.

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.)

Probably didn't happen before vis_contents existed... probably?

Workarounds:

Hacky ugly, slow, stupid stuff that I'd rather not talk about lest I punch a baby in a fit of rage.
Lummox JR resolved issue with message:
Visual bounds of off-map objects were calculated incorrectly in cases like using KEEP_TOGETHER and vis_contents together. This algorithm has been reworked for better accuracy and efficiency.