When trying to multiply a planemaster's matrix to zoom, the zoom isn't centered, also affecting mouse operations.
Even with odd values for both axis of the view var.
https://i.imgur.com/E4xLCs3.gifv
Even added one non-plane-master obj with "CENTER,CENTER" on the screen_loc to see if the center was wrong, but it shows it locked on the mob aswell:
https://cdn.discordapp.com/attachments/323648342099886090/ 645115365038358559/unknown.png
Here are two gifs of how it screws up mouse operations: (Namely hover, but it also affects click)
https://gyazo.com/b10d48677f9deabb1a03d644ee8ccdaf
(it should be showing the name only when the mouse hovered the npc, but when it hits where it should be if the center was right, it shows)
https://gyazo.com/c6145e5f8cb0a146ce45f8fe9486c733
(when I put the mouse where it actually is with the decentralized zoom, it doesn't show)
Numbered Steps to Reproduce Problem:
If you want a demo, kidpaddle's does the same and has the bug aswell: http://www.byond.com/developer/Kidpaddle45/MouseWheelZoom
Code Snippet (if applicable) to Reproduce Problem:
client/var/tmp/obj/map_zoom/ZoomMap=new//is added to client.screen
obj/map_zoom
appearance_flags = PLANE_MASTER | PIXEL_SCALE
screen_loc = "CENTER,CENTER"
plane = 0
client/MouseWheel(src,delta_x,delta_y,location,control,params)
if(control =="win_main.map" && ! blockzoom)
var/mob/player/P= usr
if(ZoomMap)
if(delta_y>=1)
if(P.iconsize>5.9) return
P.iconsize+=0.1
if(delta_y<=-1)
if(P.iconsize<1.1) return
P.iconsize-=0.1
P.iconsize = round(P.iconsize,0.1)
animate(ZoomMap, transform = matrix()*(P.iconsize), time = 2)
Expected Results:
Zoom in straight to the center of the screen.
Actual Results:
Zoom gets decentralized, mouse operations happening like it is centralized.
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?
Never
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.) Not tat I know of.
Workarounds:
None that I know of