ID:2557089
 
(See the best response by Nadrew.)
Code:


Problem description:
I'm wondering how to get effect like this one on screen below, without dealing with resize plane master except hud plane. Is possible to set individual icon_size for each plane's?

Word icon_size is 16, for hud I wanna 32 or 62.

Best response
You're gonna have to be more specific, what effect?
Ahh you're right.. I mean in my project I using world.icon_size=16 because I like when characters and world looks pixeled. But for HUD I prefer higher quality graphics.
For this effect I can set world icon_size=32, use matrix to zoom turf and mob plane's 2x. To get pixeled effect. But this isn't good way to achieve what I need, because client. View work beyond "visable" screen.
You'd just need to make all of your HUD objects share the same plane, then create a PLANE_MASTER on said plane and scale it up.

Something like plane 2 for HUD stuff is a pretty good start.
I understand, but when i scale it, my graphic lose quality.

HUD:


Final resolute:


Code:
//Just for test///////////////////////
world
icon_size = 16

client
fps = 40
var
screenWidth = 36//24
screenHeight = 19//12


mob/proc/zoomMap()
for(var/zoom/z in zoomPlanes)
z.appearance_flags = PLANE_MASTER// | PIXEL_SCALE
client.screen += z
animate(z, transform = matrix()*0.5)

var/zoomPlanes = newlist(
/zoom{plane=5},
)

zoom
parent_type = /obj
screen_loc = "1,1"



HUD/HPBAR
icon='HPBAR.png'
plane=5

mob/Login()
..()
AddHud(new/HUD/HPBAR(src, list(sx="LEFT", sy="BOTTOM+8%"),1), "HPBAR")
AddHud(new/HUD/HPBAR(src, list(sx="LEFT", sy="BOTTOM+20%", plane=6),1), "HPBAR")
zoomMap()


////////////////////////







Look at the appearance_flags variable, specifically the PIXEL_SCALE flag.
In response to Nadrew
Nadrew wrote:
Look at the appearance_flags variable, specifically the PIXEL_SCALE flag.

I know that, and i tried this case also (that why i comment it by using //) but it still lose alot of quality. Get in mind, the "zoom" is really close. In full screen it look really bad.

I think the most important for me is nice looking maptext. For graphic i can make it even bigger.

I "know" how working resizing graphic, when you try to make graphic bigger it still may look nice, but when you want to make it smaller, "every" time it lose quality.

That's why i'm wondering is possible to make plane(on client screen, or something) it own icon size.

Shrinking stuff is always going to lose details, there's only so far down you can go before things start blending together.
You should also note that scaling maptext doesn't work the same as simply using a smaller point size in the maptext's HTML, and finding fonts that are friendly to the sizes you're after.

The icon size of the plane literally depends on the icon size of the world and how much you multiply it inside of Scale(), there's nothing actually forcing you to use 16x16 graphics because world.icon_size is 16, though.
Soo have you got any alternative how i can get exacly what i have on 1'st screen. What do you think about set icon size of the world to 32, and in world's New proc just resize turfs, mobs, etc. graphics 2x ? But i'll have a lot fun with movable atoms bounds.. :/

That screenshot isn't scaling any of the HUD stuff, up or two from what I can tell, it's just using different font sizes.

I'm not sure why you need the scaling at all, you can use 16x16 icons for your map and 32x32 for your HUD without any problems.

Your HUD itself should be designed to look good standard, without any scaling.

You should also not be using the map element's "zoom" parameter if you are, that's going to prevent finer control over things like preventing the HUD from zooming, and you have no control over how the client interpolates.
Yes, it is. This is from my demo so i'm sure. :D

Here is stuff i'm working on and i have no ideas how to beat it. I want it look like on the screenshot.

Inside you can find a folder with fonts' im using.

https://puu.sh/FsLdO.zip