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.
ID:2721457
Oct 3 2021, 2:52 pm
|
|||||||||||||
Resolved
| |||||||||||||
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 |
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?