
En mi blog, veréis que he puesto esta foto para mostrar el making off de los sprites.
Os paso a contar una curiosidad y matizaciones sobre este apartado:
En esta captura la paleta de colores se ve asi, por que cada sprite tiene una paleta distinta, y al ponerlos todos en un mismo archivo, de cara a convertir el .gif al formato de c64 me era necesario que cada pixel tuviera un color igual para cada uno de los 3 que puede tener un sprite (el propio del spr, el multi1 y el multi2) + el color (común para todos, o "transparente") del fondo.
La cuestión es que al principio, antes de pedirle a Rulas si tenia por ahi los sprites para incluirlos en la demo, los ripee de la demo en BASIC (que por cierto, pronto pondréis ver por aqui) que hizo hace tiempo ("la madre del cordero" jeje). Asi que los pase a Photoshop y justo cuando los iba a usar, me llega un correo de Raúl en el que me decia que habia conseguido recuperar prácticamente todos los spr (en el formato Sprite Pad)...
Con lo que no tuve que hacer ningún esfuerzo al final con ese gif que me estaba montando en Photoshop.
La verdad es que no todo fue una pérdida de tiempo: Cogi mucha práctica usando rejillas y manejándome bien con sprites gráficos C64 y Photoshop...
Cuando tuve los sprites en formato sprite pad con su paleta ya puesta y todo, me resultó coser y cantar implementarlos directamente en la demo (eso si, como se usan dos bancos VIC distintos para bitmap/modo texto, tiene su aquel tambien....)
Por motivos prácticos (no queria agobiar el archivo fuente con imports a saco), los metí todos juntitos (un poco coñazo en el sprite pad) abriendo arch. sprite individual / copia / abre arch. con todos_spr / cierra / pega / guarda .... Como cada sprite tiene una paleta distinta según los diseñó, nuevamente, no queda bonito ver los sprites en el sprite pad. Pero con la información individual que me daba el sprite pad para cada sprite individual, me creé una tabla de paletas de colores, usada ampliamente cada vez que se imprime un sprite en la demo.
Un poco de código para los más inquietos:
defino la tabla en la sección de Variables del .asm:
// paleta colores sprites "carnet" robots (para ventana de texto con fondo azul)
txt_spr_color: .byte $07,$00,$0c,$0e,$04,$0e
txt_spr_mcolor0: .byte $02,$0b,$04,$07,$0b,$04
txt_spr_mcolor1: .byte $0a,$0f,$01,$0c,$07,$01
(...) luego la uso así, por ejemplo en la rutina que imprime el sprite de la "Robotipedia":
!pinta_linea_pedia:
tya
clc
adc #base_txt_spr
sta VIC_TXT_SPR_PTR+0 // foto del robot según num opcion en spr1
// colores del robot de tabla colores
lda txt_spr_color,y
sta VIC_SPR_COLOR
lda txt_spr_mcolor0,y
sta VIC_SPR_MCOLOR0
lda txt_spr_mcolor1,y
sta VIC_SPR_MCOLOR1
(...)
¡ Y por ahora ya vale, que no quiero agobiar demasiado al personal !