sábado, 13 de octubre de 2012

Adaptando imágenes SC5

Al trabajar con imágenes en Screen 5, podemos bien crearlas directamente en el MSX con algún programa o bien trabajar en un ordenador más potente y luego convertir dicha imagen para su uso en nuestros MSX.

Esta última opción es la más adecuada y, además, existen multitud de conversores que nos facilitan mucho ese trabajo, incluso adaptan la paleta de forma adecuada a los colores del MSX, haciendo más fácil nuestra labor.

Uno de esos conversores que, para mi gusto, funciona bastante bien es el MSX Screen Conversor de Janonne, que puede encontrarse aquí. Es bastante sencillo de usar y permite convertir a varios screens, incluso Screen 2.

Sin embargo, un pequeño defecto que le veo a este conversor es que la paleta de colores puede salir completamente desordenada, algo que en muchas ocasiones no nos conviene porque queremos que los colores estén en un orden determinado (por ejemplo para los sprites en modo 2 o similar). Esto es lo que me ha estado pasando estos días que he trabajado con imágenes en SC5 y este conversor y al final me he tenido que hacer un programita (en perl) que adapte la paleta.

Para ejecutar el programa lo primero que necesitamos es meterle la paleta que queremos usar en el MSX en el array @destPal y la paleta que obtenemos en el conversor online en el array @janoPal. Las paletas están almacenadas mediante sus componentes RGB para los colores 0 a 15.

Luego, desde una consola ejecutamos

adaptSC5.pl < input.sc5 > output.sc5 start size

donde
  • input.sc5 es la imagen obtenida en el conversor online
  • output.sc5 es la imagen que queremos usar en el MSX
  • start es el byte a partir del cual queremos trabajar
  • size es el número de bytes que queremos convertir
Et voilà! Si todos los colores de la paleta de la imagen convertida se corresponden con algún color de la paleta del MSX, entonces obtendremos un fichero para ser volcado directamente a SC5 con la paleta con la que estemos trabajando. Si hubiera algún error, el programa avisaría del mismo para así poderlo subsanar.

Espero que os sea útil el script. ¡SC5 power!

No hay comentarios: