ID:2721457
 
Resolved
Transformed plane masters did not set their visual bounds correctly, which caused items to get cut off.
BYOND Version:514
Operating System:Windows 7 Home Premium 64-bit
Web Browser:Firefox 56.0
Applies to:Dream Seeker
Status: Resolved (514.1569)

This issue has been resolved.
Descriptive Problem Summary:
Placing an obj with a large icon on a players screen and shifting it around via a plane master's transform causes parts of the icon to be cut off.

Numbered Steps to Reproduce Problem:
1.Place an obj with an icon larger than the client's view in client.screen.
2.Add a plane master to client.screen with same plane as the obj
3.Attempt to Translate() and/or Scale() the plane master.
4.Only the part of the icon initially in view will display, the rest will be MIA.


Code Snippet (if applicable) to Reproduce Problem:
https://www.dropbox.com/s/6r9dz0gy5ohc3x1/ plane_master%20translate%20scale%20v1.zip?dl=1

1.Compile and run the code.
2.Use the "apply map" verb.
3.Use arrowkeys and the "zoom in"/"zoom out" verbs to move the obj around.
4.Compare results with the actual icon in 'icons/screen_icon.dmi' to see how you cant see rest of the icon.


Expected Results:
When transforming the plane the obj will be displayed properly.
Actual Results:
Only the part of the icon initially in view will ever show up.

Does the problem occur:
Every time? Or how often?: Every Time.
In other games?: Yes.
In other user accounts?: Yes.
On other computers?: Yes.

When does the problem NOT occur?
When you transform the obj itself without using a plane master.

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.)
Worked fine in 513.1542.

Workarounds:
You could transform the obj itself rather than using a plane master, but that is far more limiting.

I'm looking at the test case but I'm really not seeing anything. I think the issue is I'm just not doing the right combo of move/zoom to make it appear.

Is there any way you can simplify this test case so a single verb will make the problem appear, and there's a way to reset after that?
https://www.dropbox.com/s/gzc31llrpalhv9o/ plane_master%20translate%20scale%20v2.zip?dl=1

Uploaded a version with an automated test.
Use the "run_test" verb to trigger it.
It will
1.Add obj to screen
2.Toggle it to shift via plane
3.Shift it upwards a bit
4.Reset shift and toggle it to shift via obj pixel_x/y
5.Shift it upwards a bit
Lummox JR resolved issue with message:
Transformed plane masters did not set their visual bounds correctly, which caused items to get cut off.