Hola,
estaba por crear un FPG de 8 bits con Smart FPG Editor, y me pidio un archivo de paleta para usar.
y ahi me acorde como venia la mano :P
hay algun editor de paletas que uds usen? como se manejan con este tema?
muchas gracias
http://www.galeon.com/linaresmugen/utils/paletero107.zip
También puedes cargar la paleta de cualquier archivo gif, bmp, png que sea de 8bits. Si usas algún programa que te permita generar alguno de estos formatos en 8 bpp controlando la paleta (gimp, graphicsgale, photoshop, etc) podrías generar una imagen y usarla como tu archivo de paleta.
De todos modos, es algo que tengo que incluir, sí...
Quote from: DCelso on May 02, 2011, 03:44:20 AM
http://www.galeon.com/linaresmugen/utils/paletero107.zip
A mi no me funciona directamente el enlace. He tenido que entrar por la página y darle.
http://linaresmugen.galeon.com/utils/utils.htm
Yo me cree una función que me lee de un BMP de 24 bits los colores y me los guarda en un array de 256*3 bytes para poder crear mapas de durezas de forma más cómoda. Lo tengo en un programa más largo (me convierte de un TMF a un mapa de durezas, pero no me acuerdo exactamente ahora qué es lo que hacía exactamente), así que es posible que falte algo (por ejemplo, el array global de 256*3 bytes):
[code language="bennu"]function obtener_paleta (string op_bmp_file)
private
int op_fileid;
bmp_header op_head;
byte op_read_color[2];
int op_last_color;
int cont_pos;
int cont1,cont2;
int cont_aux;
byte temp;
begin
op_fileid=fopen(op_bmp_file,O_READ);
if (op_fileid)
//leemos la cabecera
fread(op_fileid,op_head);
//cont_pos=sizeof(bmp_header);
//leemos los datos
for (cont2=0;cont2<op_head.alto;cont2++) //contador línea
for (cont1=0;cont1<op_head.ancho;cont1++) //contador columna
//leemos 3 bytes de color
fread(op_fileid,op_read_color);
//say("Color ("+cont1+","+cont2+") : "+op_read_color[0]+" , "+op_read_color[1]+
// " , "+op_read_color[2]+". POSICIÓN: "+cont_pos);
cont_pos+=3;
//buscamos color en la paleta actual
cont_aux=0;
while ((cont_aux<=op_last_color) && (cont_aux<=255))
if ((op_read_color[2]==fpg_paleta[cont_aux*3]) &&
(op_read_color[1]==fpg_paleta[(cont_aux*3)+1]) &&
(op_read_color[0]==fpg_paleta[(cont_aux*3)+2]) ) //coincide
break;
else //no coincide, miramos siguiente
cont_aux++;
end
end
//en este punto, cont_aux puede haber encontrado una coincidencia, por lo que
//valdrá igual o menor que el último color, si no, valdrá uno más y habrá que
//añadirlo (siempre que no se salga de la tabla)
if ((cont_aux>op_last_color) && (cont_aux<256))
fpg_paleta[cont_aux*3] =op_read_color[2];
fpg_paleta[(cont_aux*3)+1]=op_read_color[1];
fpg_paleta[(cont_aux*3)+2]=op_read_color[0];
op_last_color=cont_aux; //incrementamos (en uno) el máximo de colores.
end
end
//ahora hay que alinear el puntero de lectura a 4 bytes
if ((cont_pos %4)!=0)
cont_aux=4-(cont_pos % 4);
//say("CONT AUX vale: "+cont_aux);
op_read_color[0]=0;
while (cont_aux>0)
fread(op_fileid,temp);
cont_pos++;
cont_aux--;
end
end
end
//y borramos los colores sobrantes
for (cont_aux=op_last_color+1;cont_aux<256;cont_aux++)
fpg_paleta[cont_aux*3] =0;
fpg_paleta[(cont_aux*3)+1]=0;
fpg_paleta[(cont_aux*3)+2]=0;
end
//loop frame; end
//while (!key(_z)) frame; end
fclose(op_bmp_file);
end
end[/code]
Después usando set_colors y save_pal o algo así, pues se guarda, si no creo que tengo una función que salva los datos de la paleta, pero creo que está en el formato de FPG.
O puedes hacer uso de la herramienta que te adjunto y que es un pequeño refrito de una pequeña herramienta que hice hace ya unos cuantos años. Básicamente le he cambiado el nombre y alguna cosa más, la he recompilado en un Jar y la he subido.
Permite abrir y crear PAL y FPL (un formato de paletas de Fenix que al final se quitó).
También permite abrir MAPs de 8 y 16bpp y editar sus puntos de control pero no es muy cómodo... También permite extraer la paleta de un MAP (espero que siga funcionando porque no lo he probado).
No es la mejor herramienta del mundo (mucho menos el editor de puntos de control), pero el editor de Paletas es bastante usable.
Ahh está hecha en Java. Yo la he probado en Linux y funcionaba.
Espero que te siva :)
Un saludo!
muchas gracias chicos!! me encanto el prg de Drumpi, muchas gracias a todos por tomarse la molestia. son unos grosos :D
Quote from: JaViS on May 03, 2011, 03:01:26 AM
muchas gracias chicos!! me encanto el prg de Drumpi, muchas gracias a todos por tomarse la molestia. son unos grosos :D
ehh, mas llamao gordo ? ;D, porque lo estoy que si no... :D
por cierto jue, a mi me encanta el paletero (vale que lo he hecho yo y se me adapta completamente a todas mis necesidades pero) es que es tan intiutivo ... :D