ID:164093
 
What the default is?

Like with my HUD:
mob
player
proc
AddHUD()
src.client.screen += new/obj/HUD/Skills

obj
HUD
Skills
icon = 'HUD.PNG'
name = "Heroes"
layer=MOB_LAYER+105
screen_loc = "NORTH,WEST"


Or would I have to take it apart piece by piece and do it seperatly?
You have to have it in pieces, or in the new 4.0 format, which still splits it up into 32x32 pieces. However, you can deal with larger icons programatically if the states are all named following a particular naming scheme.
PNG images are converted to DMI images internally when you use them, so yes they are split up. You just have to change the icon_state of each tile to the corresponding icon_state. 0,0 is the lower left corner, the first number is x and the second is y.

Also don't use layers above 99, it won't work in later versions.
In response to Nadrew
Nadrew wrote:
PNG images are converted to DMI images internally when you use them, so yes they are split up. You just have to change the icon_state of each tile to the corresponding icon_state. 0,0 is the lower left corner, the first number is x and the second is y.

Also don't use layers above 99, it won't work in later versions.

Damn all my layers are over 100 >.<

Thanks for the help guys
This is a system I have to make big icons, it works but it wont work if it is piked up and put in ur inventory

atom/proc/bigicon(icon/I,state)
var
obj/O = new()
list/L
maxx
if(isfile(I))
L = list(I)
else
L = I
src.overlays = null
src.pixel_x = 0
O.layer = FLOAT_LAYER
for(var/X in L)
O.icon = X
for(var/i in icon_states(O.icon))
if(findtext(i,","))
O.icon_state = copytext(i,1,4)+((!L[X]) ? state : L[X])
O.pixel_x = 32*text2num(copytext(i,1,findtext(i,",")))
maxx = max(maxx,text2num(copytext(i,1,findtext(i,","))))
O.pixel_y = 32*text2num(copytext(i,findtext(i,",")+1))
src.overlays += O
src.pixel_x -= maxx*16
spawn del(O)

proc/importspritesheet(source,target,size_x=1,size_y=1,iconstate,moving,delay)
var/maxx
var/maxy
for(var/i in icon_states(source))
if(findtext(i,","))
maxx = max(maxx,text2num(copytext(i,1,findtext(i,","))))
maxy = max(maxy,text2num(copytext(i,findtext(i,",")+1)))
if((maxx+1)%size_x||(maxy+1)%size_y)
CRASH("Invalid Spritesheet! ([size_x]/[maxx]) ([size_y]/[maxy]) [source])")
var/icon/I = icon(target)
for(var/i in icon_states(source))
if(findtext(i,","))
var/thisx = text2num(copytext(i,1,findtext(i,",")))
var/thisy = text2num(copytext(i,findtext(i,",")+1))
var/thisdir
var/thisframe = 1
if(thisx != 0)
thisframe = 1+round(thisx/size_x)
if(maxy > size_y)
if(thisy == 0)
thisdir = WEST
else switch(round(thisy/size_y))
if(3) thisdir = SOUTH
if(2) thisdir = NORTH
if(1) thisdir = EAST
else thisdir = WEST
I.Insert(icon(source,icon_state=i),"[thisx%size_x],[thisy%size_x][iconstate]",thisdir,thisframe,moving,delay)
I.SwapColor(rgb(255,0,255),null)
return I


That is the proc now for the actual atom

mob/enemy/
Dragon
name = "Dragon"
health = 1000000
strength = 100
health = 200
max_health = 200 //this defines "Killers" health
player = 0
var/mob/P
New()
..()
src.bigicon(list(src.icon,'dragon.dmi'))


Now all you have to do is in the icon file break it up into little parts, individual icons, and name them like this:

[0,1] [1,1] [2,1]
[0,0] [1,0] [2,0]

So that the second number is the line and the first number is the column
If anyone knows a better system tell me i would love to know