ID:2355404
 
Resolved
Images that didn't explicitly override dir did not inherit their parent object's dir.
BYOND Version:512.1414
Operating System:Windows 10 Home 64-bit
Web Browser:Chrome 65.0.3325.162
Applies to:Dream Seeker
Status: Resolved (512.1417)

This issue has been resolved.
Descriptive Problem Summary:
Adding image with directions to your client.image does not update to match the atom.dir.

Link to demo: http://files.byondhome.com/Hydrugen/ImageDir_src_.zip

Numbered Steps to Reproduce Problem:
1. Run the world from the demo with Dream Maker.
2. Move the mob that has the attachment or image() added in the client.image.

Code Snippet (if applicable) to Reproduce Problem:
atom
icon = 'icon_32x32.dmi'

turf
icon_state = "turf"

mob
var
image/attachment

New()
..()

src.attachment = new/image {override = 1}
src.attachment.loc = src

Login()
src.attachment.icon = 'icon_32x32.dmi'
src.attachment.icon_state = "mob"
src.client.images += src.attachment //adding this to client.image makes attachment.dir set to SOUTH only and doesn't update to match the mob

// Same thing as the code above
// Same result

// src.client.images += image('icon_32x32.dmi', icon_state = "mob", loc = src)

src.loc = locate(5, 5, 1)


Expected Results:
attachment.dir matches the mob.dir

Actual Results:
attachment.dir remains SOUTH.

Does the problem occur:
Every time? Or how often? Every Time (BYOND Version 512.1414, 512.1415, 512.1416)
In other games? N/A
In other user accounts? Yes
On other computers? Yes

When does the problem NOT occur?
Downgrading to version 512.1413 does not have this problem.

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.)

BYOND version 512.1413 and below doesn't have this problem.

Workarounds:
N/A
Try generating the image using the image() proc with the dir set with that. There's a similar longstanding bug with overlays that magically works when you do it that way.
In response to MisterPerson
Adding image() proc in client.image and overlays works fine in 512.1413 and below but not sure why it stopped working after 512.1414 and beyond. It just doesn't update to match with mob.dir once you move the mob around.
The behavior changing in 1414 makes some sense in terms of other fixes that happened in that build. I'll get on it.
Lummox JR resolved issue with message:
Images that didn't explicitly override dir did not inherit their parent object's dir.
This is still an issue apparently. I'm on build 1454.
In response to FKI
I'll need a new test case for that.
I finally got a chance to look at this and it doesn't appear any buggy behavior is in play at all. When you created the image you specified a dir, and therefore that takes priority. If you're doing an override of the main atom's icon, the image should not specify a dir unless you want to lock in to using that.