ID:2114158
 
BYOND Version:510
Operating System:Windows 10 Pro 64-bit
Web Browser:Chrome 51.0.2704.103
Applies to:Webclient
Status: Open

Issue hasn't been assigned a status value.
So I was playing with a line-drawing mechanism.

DreamSeeker gif

Webclient gif

The line is built by adding a line-segment appearance to mob.overlays when you draw.

// m is a /matrix
m.Translate((width - 1)/2, (height - 1)/2)
m.Scale((1 + 2 * radius) / width, distance / height)
m.Translate(-radius, 0)
m.Turn(angle)
m.Translate(startPoint.x - (width + 1)/2, startPoint.y - (height + 1)/2)
temporaryObj.transform = m

return temporaryObj.appearance
If you can distill this into a test case I'd like to take a look. Ideally, if you can do it with something that's the same from session to session (like with specifically-seeded rand() values), that would be best.
I think I found that it's being triggered by the mouse entering and exiting the object.
It seems that the transform of overlays gets toggled or something? Here's a small demo.
Just move the mouse over the spinning object. For me, the overlay changes in size every time.
Of course, it's perfectly fine in Dream Seeker.
#include <kaiochao\shapes\shapes.dme>

world
maxx = 25
maxy = 25
fps = 60

mob
icon_state = "rect"

Login()
loc = locate(world.maxx / 2, world.maxy / 2, 1)
var obj/o = new
o.icon_state = "oval"
o.color = "blue"
o.transform = matrix(2, 0, 16, 0, 3, 32)
o.pixel_x = 64

/* uncommenting this makes the glitch not happen
so this problem probably happens when an overlay is layered below
the object it's attached to */

// o.layer = MOB_LAYER

overlays += o

spawn for()
transform = turn(transform, 5)
sleep world.tick_lag

I was trying to make a demo but it wouldn't work until I accidentally moused over things.
I was experiencing this issue easily when I was drawing on the map with the mouse.
Testing is hard...
If you can just work that into a project and send me a .zip, I can take a look as soon as I can to fix it for the webclient.