ID:1376121
 
Resolved
The mask color was bleeding around the edges of transformed icons in some cases.
BYOND Version:500
Operating System:Windows 7 Pro
Web Browser:Firefox 23.0
Applies to:Dream Seeker
Status: Resolved (500.1207)

This issue has been resolved.
Descriptive Problem Summary:
This was Kaiochao's problem but he's a lazy butt and won't write up a bug report for it, so I'm doing it for him.

Using rotations, and potentially scaling, with the new atom.transform will result in some displayed pixels along the edges of an icon that are interpolated between a solid color pixel and a mask pixel. These pixels will show up as a sort of gray outline around the icon, and they are not transparent.

This outline is gray probably because the default mask is gray, so it uses the mask color of whichever icon the atom happens to use.

Numbered Steps to Reproduce Problem:
1. put an atom down whose icon has a number of mask pixels and solid pixels.

2. rotate that thang gurl.


Code Snippet (if applicable) to Reproduce Problem:
var/atom/movable/test = new(locate(1,1,1))
test.icon = testIcon //where testIcon has solid pixels and mask pixels
animate(test, transform = turn(matrix(), 120), time = 2, loop = 5)


Expected Results:
smooth rotation with no jaggies or artifacts

Actual Results:
gray outline around the test atom.


Does the problem occur:
Every time? Or how often?
Every time
In other games?
Yes
In other user accounts?
Yes
On other computers?
Yes

When does the problem NOT occur?

The problem is less noticeable if you change the mask to a color that doesn't contrast so much with whatever turf icon you're using.

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

Problem is not applicable to earlier versions.

Workarounds:

Change the mask color of the icon. Use the same color for all turfs. What a crappy workaround.
No, they are transparent, just have the color of the mask. Setting the mask to black makes everything work chill, but, honestly, it shouldn't use the mask color in the first place.
I'll add something to the DirectX code to nix out the mask when the sprite is loaded. That'll take care of it.
Lummox JR resolved issue with message:
The mask color was bleeding around the edges of transformed icons in some cases.