ID:1918499
 
Resolved
Overlays did not carry over the pixel offsets of their parent appearance.
BYOND Version:508.1296
Operating System:Windows 7 Pro 64-bit
Web Browser:Chrome 44.0.2403.155
Applies to:Webclient
Status: Resolved (508.1297)

This issue has been resolved.
Descriptive Problem Summary:

It seems like some specific objects consistently either do not update their appearances when their pixel_x/y values are changed or simply go visible. I'm not sure why it works for some and doesn't for others, but I can provide a testing environment if needed (ie Severed World).
If you can simplify this down to a simple test case, that would help a lot.
Doohl wrote:
Descriptive Problem Summary:

It seems like some specific objects consistently either do not update their appearances when their pixel_x/y values are changed or simply go visible. I'm not sure why it works for some and doesn't for others, but I can provide a testing environment if needed (ie Severed World).

In addition to this, animating pixel_x/y in the webclient produces some quirky behavior. You'll notice the animation skips to the last frame instantly, while still playing through the animation.

A code snippet in which I discovered this:

proc/stun_graphic(turf/effect_loc, atom/movable/ref, fade_time = 10)
var obj/temp = new/obj {
maptext_x = 1; maptext_y = -1;
maptext_width = 256; maptext_height = 256;
color = "#000";
} (effect_loc)
//temp.blend_mode = BLEND_ADD
temp.maptext = "[span("stun_graphic", "Stunned!")]"
temp.layer = MOB_LAYER - 1
temp.underlays += temp.appearance

temp.maptext_x = 0
temp.maptext_y = 0
temp.color = "#fff"
temp.layer = MOB_LAYER + 1
temp.overlays += temp.appearance
if(ref)
temp.SetCenter(ref.Cx(), ref.Cy(), ref.z)
animate(temp, pixel_y = temp.pixel_y + tiles(1), alpha = 0, time = fade_time)
new/timed_event(fade_time, "soft_dispose", temp)


Edit: The issue I'm encountering seems to have to do with the appearance variable; the behavior described above doesn't occur when I don't add an appearance to the animated atom's underlays/overlays.
Lummox JR resolved issue with message:
Overlays did not carry over the pixel offsets of their parent appearance.
Do you have a demo that shows this issue? The code FKI posted did show a problem in pixel_x/y positioning, and that was indeed fixed.
Sure.

for(var/i = 1, i <= 30, i++)
pixel_y ++
sleep(world.tick_lag)
for(var/i = 1, i <= 30, i++)
pixel_y --
sleep(world.tick_lag)


The player's appearance does not seem to update when they're standing still, but if they're moving it will.

[Gif] demonstrating this behavior.
Ah, that'll probably be a fairly simple fix.
I've moved the "not fixed" post to its own thread (id:1924039) so it can be dealt with separately.