# Grixel - Retro Tools

>Esta es una aplicación para crear estructuras de mapas de bits destinadas a la programación de computadoras Atari de 8 bits.
El programa asume que el usuario sabe lo que hace, por lo que no valida configuraciones que no tengan sentido.
Podemos crear estructuras de una sola pantalla o mayores. El ancho siempre se ajustará a un múltiplo de un byte de datos.
Podemos crear en HiRes o LoRes con altura de píxel simple o doble en las líneas de visualización.
El programa permite colorear mediante el sistema de sprites de Atari (solo jugadores, los proyectiles aún no están incluidos).
Es posible cambiar el color de cualquier registro mediante la interrupción DLI. El DLI además soporta cambiar el ancho de los sprites.
El programa soporta múltiples proyectos a la vez.

---

##### # Proyecto
>
>Un proyecto se puede crear/cargar desde el menú o la barra de selección:
![](Assets/Image/es-ES/grixel_1.png)
`Nombre del proyecto` es informativo para que el usuario no se pierda.
`Sistema TV` determina qué paleta de colores utilizaremos.
`Modo Píxel` determina el modo para Antic.
`Ancho` para HiRes es un múltiplo de 8, y para LoRes es un múltiplo de 4.
`Altura` es "arbitraria".

---

##### # Editor

>1. Parte izquierda, selección, paleta y herramientas:
![](Assets/Image/es-ES/grixel_2.png)
`Selección` son indicadores que muestran qué registro está asignado a los botones del ratón.
`Paleta` contiene los registros con los que dibujamos en la imagen. Un clic del ratón asigna el registro al campo de `Selección` apropiado. Un doble clic abre la selección de color que se asignará al registro como color inicial (desde la línea superior de la imagen). Los registros BG (fondo), PF1, PF2 corresponden a datos gráficos, mientras que PM0, PM1, PM2 y PM3 son sprites. PM01 es el color resultante de la superposición de PM0 y PM1, y de manera similar PM23 de PM2 y PM3. Un cambio de color de un sprite siempre es en pares. Los botones pequeños 1, 2 y 4 debajo de un sprite específico indican su ancho inicial.
`Herramientas` es un conjunto de herramientas de apoyo para el dibujo:
 => Lápiz, dibujo píxel por píxel, podemos aumentar el grosor y la forma del lápiz.
 => Línea, dibujo de líneas, comenzamos presionando el botón del ratón y terminamos al soltarlo. Podemos aumentar el grosor de la línea y la forma de los extremos.
 => Relleno, llenamos un área (no un color sino un registro) eligiendo un patrón. El color blanco en el patrón corresponde al clic izquierdo (LMB) y el negro al derecho (RMB).
 => Forma, dibujamos una de tres formas: cuadrado, círculo o elipse. Podemos elegir tres variantes: solo marco (color LMB), solo relleno (LMB) o marco con relleno (LMB, RMB).
 => Texto, podemos insertar texto desde el campo de contenido, elegir cualquier fuente del sistema y tamaño. El color se seleccionará según el botón de color utilizado. Manteniendo presionado el botón podemos ajustar su posición, que confirmamos al soltar el botón.
 => Selección, podemos moverla y copiarla. Confirmamos haciendo clic fuera del área de selección o presionando "Enter".

---

##### # Ventana de selección de color
>
> 1. Color único.
![](Assets/Image/es-ES/grixel_3.png)
Aquí elegimos un color único, indicado por el marcador en la esquina inferior izquierda de la ventana. La selección se realiza con el botón izquierdo del ratón.
> 2. Color de los sprites.
![](Assets/Image/es-ES/grixel_4.png)
Aquí elegimos los colores para el sprite 0, 1 o 2,3. El 0 o 2 se selecciona con el botón izquierdo del ratón y el 1 o 3 con el derecho. El color MIX se actualiza en tiempo real.

---

##### # Capas
>
>El programa soporta capas.
![](Assets/Image/es-ES/grixel_5.png)
Dibujamos en la capa activa. Podemos agregar, eliminar, mover y combinarlas.
Puede utilizar la capa de referencia. Será visible como fondo de la imagen. Se encuentra en la parte inferior del panel de capas. Su visibilidad se puede alternar con la barra espaciadora.

---

##### # Barras de control de imagen
>
>![](Assets/Image/es-ES/grixel_6.png)

1. Barra DLI muestra los cambios de color para el registro seleccionado con LMB. Para cambiar el color, haz clic con el botón izquierdo del ratón en esta barra en el lugar deseado. Se abrirá la ventana de selección de color. Desde arriba, el primer color proviene de la configuración inicial en el lado izquierdo de la ventana en el objeto "Paleta".
Si queremos cambiar el rango de color, desplazar su inicio a otra línea, apunta con el cursor a la barra en ese rango y usa la rueda del ratón. Esto aplica exclusivamente a los inicios de los rangos.
Si queremos eliminar un rango de cambio de color, haz clic en él con el botón central del ratón.
Si queremos cambiar el color del rango, haz clic derecho sobre este rango.
2. Barra de ancho muestra el ancho de los registros de sprites emparejados, es decir, PM0 y PM1 o PM2 y PM3. Naturalmente, solo cuando uno de ellos está asignado a LMB. La barra está diseñada para tener tres líneas verticales para un registro: la primera verde significa que en esta línea de imagen el sprite tendrá un ancho simple, la segunda amarilla significa ancho doble, y la tercera roja significa ancho cuádruple. Para cambiar el ancho, haz clic en esta barra para el registro respectivo, y el ancho cambiará cíclicamente en la secuencia 1,2,4,1,2... etc. Aquí, recuerda que el cambio afecta a toda la altura restante a partir de la línea donde hiciste clic.
3. Barra de validación. Al dibujar con registros de sprites, debemos adherirnos estrictamente a las reglas que controlan la visualización de sprites en Atari. Si las violamos, se dibujará una línea horizontal en colores rojo y/o amarillo en la imagen, en la línea donde ocurre el error. Esta línea tiene 4 píxeles de ancho, uno por cada registro de sprite. Si un píxel es rojo, significa que ese registro ha violado las reglas en esa línea. Puedes seleccionar dicha línea haciendo clic en esta barra para facilitar la búsqueda del problema.

---

##### # Reglas para sprites

1. Con ancho simple, el ancho del sprite es de 8 píxeles LoRes. Esto significa que los píxeles extremos para un registro de sprite dado no pueden estar separados por más de 8 píxeles en una línea de imagen. En cada línea de imagen subsiguiente, la regla es naturalmente la misma, pero su posición de uso puede variar. Se agregará el código de interrupción DLI apropiado al exportar.
2. Con ancho doble, el píxel del sprite tiene 2 píxeles de LoRes de ancho. Al dibujar, debes tener esto en cuenta ya que un solo píxel siempre generará un error. Así que aquí también tenemos 8 píxeles de sprite, pero tienen doble ancho, permitiéndote cubrir 16 píxeles LoRes en la imagen.
3. Con ancho cuádruple, el píxel del sprite tiene 4 píxeles de LoRes de ancho y puedes cubrir 32 píxeles LoRes. Simplemente debes recordar la coherencia del píxel del sprite.
4. Es ligeramente diferente en HiRes porque los píxeles de datos son más pequeños que el de los sprites. Dibujar con un registro normal hace un pequeño píxel HiRes, pero el sprite usa un píxel estándar de LoRes. El resto de las reglas permanece sin cambios.

---

##### # HiRes
>
>A diferencia de LoRes donde dibujamos con todos los registros regulares, en HiRes solo dibujamos con PF1 (solo matiz) y PF2 (color y matiz). Seleccionar un color para ambos registros establece el color en ambos. Sin embargo, debemos seleccionar el brillo individualmente.

---

##### # Exportar
>
>Si la imagen cabe en una pantalla de Atari, la exportación contendrá el código completo para lanzar y mostrar la imagen. De lo contrario, generará datos en bruto.
