ID:2107427
 
(See the best response by Nadrew.)
My world.icon_size is 16x16 with a map that scales the icons to 32x32.

I have a grid inventory that I'd like to output my items to but at 16x16 they look way too small so I'm scaling the icons of my items before they output to the grid but the grid is then rescaling them to 16x16.

Any idea what's going wrong? Surely there's got to be a way to fix this.
Best response
Grid controls default to world.icon_size, I'm unsure of if there's a way around the limitation, as I haven't used grids much. I'll do some investigating and get back to you if someone else hasn't already chimed in yet.
Sort of just reaffirms my fears. I'm probably going to just have to resize all my icons manually and set my world.icon_size to 32.

If anyone can offer a hack that'd be great but I get a feeling that's not going to happen.
One thing that pops into mind is looping through the types and assigning them cached/scaled icons upon world/New() so you can access the larger cached ones from a global list.

Something like

var/tmp/list/large_icons

world/New()
var/tmp/list/paths = typesof(/obj/Stuff) - /obj/Stuff
var/tmp/list/objects
var/tmp/icon/i
large_icons = list()
for(var/path in paths) {objects += new path}
for(var/o in objects) {i = new(o.icon); i.Scale(32,32); large_icons["[o.type]"] = i}
..()
Just make your own grid system with screen objects, or better yet, make use of the webclient. It's surprisingly stable at this point. Use HTML/CSS/JS, it'll be more visually appealing, and has the added benefit of being client sided.