ID:136590
 
From the 332 release notes: "the "" icon state was getting replaced by the icon state of the top turf object."

I thought that was the desired effect! This breaks a number of my projects where I create an obj, set it's icon and pixel offsets, then add it as an overlay so that the overlay's icon_state will match the base icon. How do I synch icon_states now?

I much prefered the old way. If I didn't want the overlays to change, I would just use an icon_state for them other than "".
Shadowdarke wrote:
From the 332 release notes: "the "" icon state was getting replaced by the icon state of the top turf object."

I thought that was the desired effect! This breaks a number of my projects where I create an obj, set it's icon and pixel offsets, then add it as an overlay so that the overlay's icon_state will match the base icon. How do I synch icon_states now?

I much prefered the old way. If I didn't want the overlays to change, I would just use an icon_state for them other than "".

Ouch. On the other hand, MLAAS uses the "" icon_state, and overlayed icons were breaking them when I expected them to remain as "". It all worked fine until 326 or so, when it switched to the behavior they just nixxed. Now that it's back, everything is peachy.
In response to Skysaw
Help me get my icon_states synchronized again and I won't mind the change at all. :)
In response to Shadowdarke
grm? I've been adding obj overlays to my users in my multi-tile mob game, and have been using pixel_x/pixel_y without any problems.
In response to Ter13
Ter13 wrote:
grm? I've been adding obj overlays to my users in my multi-tile mob game, and have been using pixel_x/pixel_y without any problems.

Have you tried flick()ing or changing the icon_states yet? Only the base icon changes.
In response to Shadowdarke
hrm? well then... that sucks.

From the 332 release notes: "the "" icon state was getting replaced by the icon state of the top turf object."


This should only apply to turfs stacked under the top turf on the map (consistent with the old behavior), or overlays created with icon_state explicitly assigned to "", like this:

overlays += image('icon.dmi',icon_state="")

Is that how you are creating these overlays? If not, then there is a bug. Even if there is not a bug, I am thinking maybe this change should be retracted, because it introduces a subtle difference between this method of creating an overlay and the alternate method, where one uses an object or object-type to do it.

--Dan

In response to Dan
Most of my projects use an obj for the overlays. For example:

var/obj/O = new()
O.icon = 'someicon.dmi'
O.layer = DESIRED_LAYER
O.pixel_x = DESIRED_VALUE
O.pixel_y = OTHER_VALUE
overlays += O