ID:86837
 
Resolved
Fixed in 460
BYOND Version:459
Operating System:Windows XP Pro
Web Browser:Firefox 3.5.5
Status: Resolved (460)

This issue has been resolved.
Posted for D4RK3 54B3R by Lummox JR

Descriptive Problem Summary:
Creating an /icon object with no file argument caused subsequent Insert() operations to show strange artifacts, as if an icon had been scaled down and then restored to full size, making it blocky.

Code Snippet (if applicable) to Reproduce Problem:
var/icon/iconz = new()
for(var/a=0;a<360;a+=45)
var/fangle = 270-a
if(fangle < 0) fangle += 360

fangle = round(fangle/45,1)+1
var/f = file("[graphic]000[fangle].png")
iconz.Insert(f,"[a]")
sleep(1)

src.icon = iconz


Expected Results:
icon.Insert() is supposed to scale the icon being modified if inserting an icon of a different size, and this should not result in artifacts except in cases of programmer error.

Actual Results:
The inserted icon appears to have been rescaled several times, so it ends up as a pixelated version of itself.

When does the problem NOT occur?
Creating the main icon from a blank file with a proper size setting will not cause this issue.

Did the problem NOT occur in any earlier versions? If so, what was the last version that worked?
Because this bug concerns big icons, it does not apply to versions prior to 455.

Workarounds:
Use a template icon file, or one of the inserted files, as a base before inserting any other icons.