Creación de Skins para IRcap 8 o superior

Una Skin para IRcap se compone de varias partes:

- Un archivo con datos de la skin, llamado "skin.ini".
- Los ficheros gráficos.
- El fichero de tema de texto.
- Los ficheros del tema de sonido.

El tema de texto y el de sonido es opcional. El fichero skin.ini y los ficheros gráficos son obligatorios.


Los ficheros gráficos

Cada skin debe incluir una serie de ficheros gráficos indispensables. Se usará el color RGB 0,255,0, verde brillante, como color transparente.
Es conveniente que tengas a mano los ficheros de alguna skin del IRcap, por ejemplo la skin Base, mientras lees este tutorial.
Estos ficheros son:

BAR.PNG
Contiene los gráficos necesarios para dibujar la barra del IRcap, el botón de conexión, el fondo de los iconos, y el reproductor de música.
La distribución de cada elemento es variable, pues luego en el fichero de configuración "skin.ini" le diremos en qué posición del gráfico está situado cada elemento y qué dimensiones tiene. La barra puede tener cualquier dimensión vertical, y los elementos pueden tener cualquier ancho.

En el gráfico de ejemplo correspondiente a la skin "Base", podemos ver, de izquierda a derecha y separados por una línea verde, el botón de conexión (conectado), el fondo de los iconos (1 pixel de ancho), el botón de Setup/letrero IRcap, el fondo de la zona derecha de la skin (donde se muestra el lag), el botón de conexión (desconectado) y el reproductor de música.

El botón de conexión desconectado y el conectado deben tener el mismo ancho, ya que se superponen en la barra. Es importante diseñar la barra para que se vea correctamente en una resolución de 800 x 600.

OPT.BMP
Este gráfico contiene los elementos necesarios para dibujar las ventanas y diálogos del IRcap. Al contrario que la anterior, su distribución es fija, es decir, cada elemento tiene que ir en su posición.
El gráfico de ejemplo de la skin base contiene, de izquierda a derecha:

- opción desactivada (16x16 pixels).
- opción activada (16x16 pixels).
- boton subir en listas (16x16 pixels).
- boton bajar en listas (16x16 pixels).
Y debajo de estos cuatro elementos:
- Marco inferior de la ventana (1x8 pixel).
- Marco lateral izquierdo ventana (8x1 pixel).
- Marco lateral derecho ventana (8x1 pixel).
- Esquina inferior izquierda ventana (8x8 pixel).
- Esquina inferior derecha ventana (8x8 pixel).
Seguimos por la derecha:
- Esquina superior izquierda ventana (32x32 pixel).
- Marco superior ventana (1x32 pixel).
- Esquina superior derecha ventana, con botones cerrar y minimizar (96x32 pixel).
- Botón, borde izquierdo (12x20 pixel).
- Botón, cuerpo (1x20 pixel).
- Botón, borde derecho (12x20 pixel).
- Botón pulsado, borde izquierdo (12x20 pixel).
- Botón pulsado, cuerpo (1x20 pixel).
- Botón pulsado, borde derecho (12x20 pixel).
- Botón para combo (16x16 pixel).
- Esquina reescalable ventana (32x32 pixel).

Hay que ser cuidadoso al usar el color transparante (rgb 0,255,0), ya que en algunos gráficos será necesario usarlo porque dichos gráficos podrán superponerse a otros elementos del interfaz gráfico, como por ejemplo el botón para combo, que debe imprimirse sobre un campo de texto editable. Pero en otros casos, como en el de los botones, el botón pulsado se sobreimprime al botón en estado normal, y posteriormente este último se sobreimprime para volver a la posición normal. Ambos gráficos deben "anularse" entre sí, es decir, que al imprimirse el botón pulsado, sustituya completamente al botón normal, y viceversa. Lo mismo ocurre con el botón de las opciones, que deben sobreimprimirse.

MINICONOS.BMP
Este gráfico contiene un set de iconos de 14 x 14 pixels cada uno, usados en las listas. El número de iconos podrá ser ampliado en el futuro. Es recomendable que se use el color transparente, porque si bien el icono puede llevar incluido el color de fondo de las listas, es posible que dichos iconos se empleen en otros lugares, con distinto color de fondo. Usando el color transparente, se podrá imprimir sobre fondos de otro color sin que se vea dentro de un "marco".
Los iconos son los siguientes: Grupo abierto, grupo cerrado, item genérico de la lista, contacto conectado, desconectado, ausente, contacto sin suscripción, canales, enviando fichero, recibiendo fichero, opción activada y opción desactivada.

C-AUDIO.PNG
Contiene cinco iconos de 14 x 14 pixels con los controles de audio para la ventana de "Playlist", o lista de reproducción. Se puede usar el color transparente si la skin lleva textura de fondo.

SETUP.PNG
La ventana del Setup del script no se dibuja usando "opt.bmp", sino imprimendo un único gráfico. Esto permite enriquecerla gráficamente un poco más, hacer una barra de título diferente, ponerles algún adorno, etc. El tamaño del menú lateral izquierdo es fijo, y el contenido se muestra a la derecha. Para hacer una ventana nueva se puede usar la de la skin base por ejemplo, y dibujar encima. Los botones de minimizar y cerrar deben coincidir.

skin-iconos.png
Los iconos que se muestran en la barra superior son ficheros independientes. Cada skin obligatoriamente debe incluir estos 13 iconos. Aunque la barra puede incluir cualquier tipo de icono, configurable por el usuario, estos 13 iconos se sustituyen al cambiar de skin por los iconos correspondientes de la nueva skin. Los iconos que el usuario haya configurado por su cuenta permanecerán iguales.

Los iconos deben ir en formato PNG y pueden tener cualquier tamaño (siempre cuadrados), según se haya dispuesto en el fichero de configuración skin.ini. Los ficheros son los siguentes:
skin-away.png , skin-dcc.png , skin-help.png , skin-irc.png , skin-log.png , skin-mail.png , skin-mod.png , skin-notas.png , skin-server.png , skin-tool.png , skin-ulist.png , skin-web.png , skin-wri.png.

Gráficos opcionales
Además de los ya citados gráficos obligatorios, la skin puede incluir otros para definir el fondo del mIRC, el fondo de la barra de iconos de mIRC, los propios iconos del mIRC, fondos de ventanas de canales y privados y de Status, fondo de las ventanas gráficas del IRcap, etc.
Dichos gráficos deben ir incluidos en el directorio de la skin y ser configurados en el fichero "skin.ini".

¿ Por qué se usan los formatos BMP y PNG ?
El formato PNG permite usar gráficos en 24 bits con una buena compresión, y son manejados rápidamente por mIRC. El BMP en 24 bits no está comprimido, pero mIRC lo maneja muy rápido. Por esa razón en las tareas críticas en las que se necesita velocidad, como por ejemplo manejar el interface gráfico en las ventanas de configuración, se usa BMP. En otras, como la ventana del setup se usa PNG, ya que en BMP ocuparía demasiado y se perdería tiempo cargándola del disco.
Para fondos de ventanas y fondo del mIRC se pueden usar gráficos en formato JPG, ya que permite usar una imagen de tamaño grande que ocupe poco en el disco. JPG comprime con pérdida de calidad, por lo que no es recomendable usarlo donde sea necesario usar un gráfico con precisión, ya que la imagen puede salir degradada, pixelada, etc. Además mIRC es muy lento manejando JPG.



SKIN.INI, el fichero de configuración

El fichero "skin.ini" debe ir en el directorio de la skin. Contiene valores de colores, en formato RGB en un sólo número. Puedes calcular el valor RGB a partir de los tres valores de rojo, verde y azul, desde el mIRC, tecleando el comando //echo -s $rgb(valor rojo,valor verde, valor azul) . Por ejemplo, //echo -s $rgb(255,0,0) .
Este es el contenido de skin.ini:

[SKIN]
nombre=nombre de la skin
autor=tu nombre
email=tu email
url=tu web, si tienes
com=Breve comentario acerca de la skin
ver=8.0 (este valor indica la versión del sistema de skins, no la versión de la skin. Dejar en 8.0)


[BAR]
BAR=altura barra en pixels, tamaño iconos, desplazamiento vertical iconos, separación entre iconos, desplazamiento vertical medidor de lag, color título lag, color rayas del lag, distribución barra
BITMAP=Coordenadas en "bar.png" del botón de conexión, coordenadas botón desconexión, coordenadas fondo iconos, coordenadas setup, coordenadas fondo lag, coordenadas reproductor música.
CLICK=Coordenadas pulsación en botón conexión, coordenadas de pulsación en Setup.
MP=línea de tiempo, tiempo, título canción, repetición, play, pausa, stop, anterior, siguiente, abrir, menú, volumen, playlist, buscar, RGB título (espacio) RGB titulo sombra, RGB tiempo (espacio) RGB tiempo sombra, RGB indicador posición, RGB recuadro repetición.


[DIALOG]
RGB=fondo, texto opción, fondo editbox, borde sup. editbox, borde inf. editbox., texto editbox, título editbox, texto pestaña, lag, texto menú setup, borde sup. menú setup, borde inf. menú setup, texto botón, sombra texto botón, fondo marco, borde sup. marco, borde inf. marco, texto marco, sombra texto marco, fondo texto marco, sin usar, color título ventana, color sombra título ventana, desplazamiento vertical título ventana.
RGB2=deslizador scroll fondo, deslizador borde sup, deslizador borde inf., scroll lista fondo, scroll borde sup., scroll borde inf., fondo selección lista, texto selección lista, fondo submenú, borde sup. submenú, borde inf. submenú, fondo selección submenú, fondo selección smenú borde sup., fondo selección smenú borde inf., texto submenú, texto seleccionado submenú, color 1 relieve letras, color 2 relieve letras.


[FONDOS]
fondogui=gráfico de fondo de las ventanas gráficas de configuración, incluyendo el parámetro de posicionamiento (consultar ayuda mIRC sobre comando /background). Por ejemplo -clsm tile.bmp, donde tile.bmp sería el gráfico. Dejar en blanco si no se quiere fondo (y el gui del IRcap trabajará más rápido).
skinr=redondeo de algunos elementos del interface, como marcos y editboxes. Por ejemplo, 8 sería un poco redondeado, y 0, totalmente recto.
slist=estilo de barra de scroll para las listas. Posibles valores, 0, 1 y 2. Prueba y quédate con el que más te guste.
fondo=gráfico de fondo de mIRC, con los parámetros de posición (consultar /background en mIRC). Ejemplo: -mf AquaBlue.jpg . En blanco, no fondo.
ico=gráfico que sustituye a los iconos de la barra de mIRC. En blanco se usan los iconos normales. (La barra de iconos del mIRC por defecto va desactivada en el IRcap).
icof=gráfico de fondo de los iconos de la barra de mIRC. Igual que la anterior.
icob=gráfico de fondo de la barra de cambio de ventana (switchbar) del mIRC. Como la anterior.
status=gráfico de fondo de la ventana de status, con los parámetros de posición (consultar /background en mIRC). Ejemplo: -sp logo.bmp . En blanco, no fondo.
snoticias=gráfico de fondo de la ventana de sNoticias. Igual que la anterior.
canal=fichero usado como fondo en ventanas de canales. El formato usado es el mismo que se emplea internamente en el fichero mirc.ini. Por ejemplo, skin\mi_skin\canalfondo.bmp,4 pondría el bmp "canalfondo.bmp" como fondo, usando la opción "tile", que corresponde al número 4.
privado=igual que la anterior, pero para las ventanas de privados.


[TEMA]
wav=ruta del tema de sonido, sin extensión. Obligatorio, si la skin no lo incluye, usar el de la skin Base. Ejemplo: skin\mi_skin\mis_sonidos
txt=ruta del tema de texto, sin extensión Opcional, en blanco no cambiará el tema de texto. Ejemplo: skin\mi_skin\tema_miskin



Explicación...
En BAR, la "distribución de la barra" indica como se van a posicionar los diferentes elementos de la barra. En la skin base por ejemplo es: c,i,s,l,p,1. c es el botón de conexión, i son los iconos, s es el botón del Setup, l es el medidor de lag, p es el reproductor de música, y el 1 final indica que el último elemento (en este caso el reproductor) se justificará a la derecha. Si fuera 0, el reproductor se situaría inmediatamente a continuación del medidor de lag. Cada skin puede llevar la distribución que su autor quiera.

En BITMAP las coordenadas son grupos de cuatro números separados por espacios, y cada grupo separado por comas. Las coordenadas se obtienen del gráfico "bar.png", desde el programa de dibujo, por ejemplo.

CLICK contiene coordenadas para el área "pulsable" del botón de conexión y setup. El primer grupo de cuatro números separados por comas corresponde al botón de conexión, y el siguiente grupo al botón de Setup. Para hallarlos hay que aislar esos gráficos, es decir, en el programa de dibujo coger el gráfico de conexión, copiarlo a una nueva ventana con las mismas dimensiones que el botón, y a partir de ahí obtener las coordenadas. Es decir, son coordenadas relativas la gráfico, no al fichero "bar.png".

MP, de nuevo son coordenadas "relativas" al gráfico del reproductor, por lo que lo mejor es extraerlo de "bar.png" y copiarlo a una nueva ventana para poder obtener las coordenadas, tal y como se hizo con el parámetro anterior. Las coordenadas son grupos de cuatro cifras separadas por espacios, y entre cada grupo por comas (excepto los últimos valores que son RGBs). Indican las coordenadas de los botones, play, stop, etc, así como la línea de tiempos, la zona donde se imprime el tiempo transcurrido y el nombre de la canción.




El tema de sonido

Es un simple fichero con extensión .ewv que contiene la ubicación de cada sonido para cada evento en el IRcap. Este por ejemplo es el Tema de Sonido de la skin Base:

[WAV]
cuac=skin\base\cuac.wav
clon=skin\base\clones.wav
bip=skin\base\bip.wav
clik=skin\base\key.wav
login=skin\base\login.wav
ctcp=skin\base\ctcp.wav
deop=skin\base\deop.wav
cae=skin\base\mecai.wav
fallo=skin\base\fallo.wav
flod=skin\base\flood.wav
join=skin\base\join.wav
kick=skin\base\kick.wav
noti=skin\base\notice.wav
op=skin\base\op.wav
priv=skin\base\ring.wav
send=skin\base\send.wav
wina=skin\base\abrew.wav
winc=skin\base\cierraw.wav
ini=

Por defecto apuntan a los sonidos habituales del script, que están localizados en el directorio de la skin base. Si quieres anular un sonido, déjalo en blanco. Si quieres modificar los sonidos, estos deben ir en el mismo directorio que tu skin, con el nombre que quieras. Si por ejemplo quieres modificar el sonido del KICK, debes poner tu sonido en tu directorio, y cambiar el campo kick=skin\base\kick.wav por este otro, kick=skin\miskin\patada.wav, por ejemplo.
ini= contiene el wav que sonará cuando se arranque el IRcap. En la skin base está en blanco.

Los sonidos a menudo son la parte que más tamaño ocupa en una skin, procura que estos ocupen un espacio razonable. Pueden usarse cualquiera de los formatos reconocidos por Windows. Los .wav pueden usarse con diferentes codecs, como el ADPCM, que ocupa poco. También pueden utilizarse MP3.



El tema de texto

El tema de texto es opcional, y el tutorial para su creación no está disponible aún.



Publicar tu skin en esta web

Si has hecho una skin para IRcap y quieres publicarla en esta web, envíala en un fichero ZIP a cualquiera de los e-mails de la sección de Contacto. El ZIP no deberá ocupar más de 250 Kbytes. Si sobrepasa ese tamaño podrás remediarlo comprimiendo un poco más los gráficos de fondo en JPG, y reduciendo el bitrate de los wavs y mp3s, convirtiéndolos de estéreo a mono, etc. Una skin sin sonidos y sin fondos de ventanas, ocupa menos de 100 Kbytes.
Las skins deberán ser originales, no se aceptarán skins que sean variaciones de otras, o que contengan elementos gráficos de otras. Deberá evitarse en lo posible el uso de marcas comerciales y marcas registradas, para evitar posibles problemas legales.


Si tienes alguna duda puedes preguntar en el foro.