When using
icon1.Blend(icon2, ICON_OVERLAY)
If icon2 is a wider/taller icon than icon1, icon2 will be cropped to fit in the width/heigth of icon1.
This behavior isn't mentioned in the DM Help menu entry on the Blend() proc, so I figure it's possibly unintentional; Mainly because it means that you can't properly overlay bigger icons without using an atom's overlays list.
Numbered Steps to Reproduce Problem:
1. Make a new /icon, named icon1
2. Make another new /icon, with a larger width/height, named icon2
3. Attempt to use icon1.Blend(icon2, ICON_OVERLAY)
4. Observe that icon2 is cropped to fit in the width/height of icon1
Code Snippet (if applicable) to Reproduce Problem:
/mob
icon = 'obj32x32.dmi'
icon_state = "obj"
/mob/verb/give_sprite()
var/icon/S = new /icon('obj32x32.dmi', "obj") //32x32 icon file with a test sprite
S.Blend(new /icon('obj64x32.dmi', "obj"), ICON_OVERLAY, -15, 1) //64x32 icon file with a test sprite
icon = S
Expected Results:
The larger icon would be overlayed on the smaller icon, displaying fully.
Actual Results:
The larger icon is cropped to fit in the smaller icon's width/height.
Does the problem occur:
Every time? Or how often? Always.
In other games? Yes.
In other user accounts? N/A
On other computers? Not able to test.
When does the problem NOT occur?
Unknown.
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.)
As far back as 507, the problem is still there.
Workarounds:
None known.
As an example, you'd obviously want to do things like making sure things exist and whether my_icon is indeed smaller than big_icon.