Nestile - Un editor de mosaicos para crear / editar gráficos NES
Introducción y requisitos del sistema
Uso de nestilo
Guardar y cargar fichas
Menú de configuración
Marcadores de posición / errores
Contacto / crédito
Introducción y requisitos del sistema
Nestile es un editor de mosaicos creado únicamente para editar gráficos para programas NES. Existen mejores editores de mosaicos, pero que yo sepa, ninguno que se puede usar en Linux, que es la plataforma objetivo de este programa (aunque debería funcionar en cualquier sistema operativo que cumpla con los requisitos). Es utilizable tanto crear nuevos archivos que contengan datos de gráficos RAW NES, o para editar directamente archivos que contienen datos de gráficos NES RAW o ROM formateadas de INES que almacenan gráficos en CHR-ROM.
Para usar el programa, deberá tener a Python instalado en su máquina.
Ejecute el archivo "Nestile" con el archivo que desea abrir como argumento y la GUI aparecerá. La ventana larga y delgada con el menú Archivo es la ventana de ajuste, la ventana más pequeña con los colores en la parte inferior es la ventana del editor de mosaicos y la otra ventana es la ventana de la capa de mosaico. Al comenzar el programa, todas las ventanas deben estar en blanco.
La ventana de ajuste de mosaico muestra todas las baldosas en su rom en monocromo, con el negro que representa el color 0, el blanco más brillante que representa el color 3 y el color 1 y 2 representados por los segundos tonos de gris más oscuros y más brillantes, respectivamente. Al hacer clic en un mosaico en la ventana de ajuste de baldosas, elige qué mosaico desea editar en la ventana del editor de mosaicos o pegar en la ventana de la capa de mosaico. (Nota: Cuando digo Color 0, 1, 2, 3, quiero decir que los píxeles en el archivo CHR-ROM se representarán con el valor de 2 bits 0, 1, 2 o 3. Consulte información sobre el NES Formato gráfico para más detalles).
La ventana del editor de mosaicos es donde realmente realiza cambios en un mosaico. Haga clic en los colores para elegir con qué color dibujar. El color más a la izquierda representa el color 0, el de la derecha del color 1, a la derecha de ese color 2, y la derecha representa el color 3. Edite el mosaico haciendo clic en el mouse en la pantalla de edición de mosaicos. Las ediciones que hagas aquí aparecerán en la ventana de ajuste, así como donde sea que tengas el mosaico pegado en la ventana de la capa de baldosas. Puede cambiar la paleta de colores que está utilizando haciendo doble clic en cualquiera de los colores para sacar la ventana de la paleta. Al hacer clic en uno de esos colores, asigna ese valor a la ranura de color seleccionada actualmente. Esto no tiene ningún efecto sobre cómo se almacenarán los datos, por lo que es principalmente para usted tener una idea de cómo se verían los gráficos (y probablemente querrá cambiarlo, ya que la paleta predeterminada que aparentemente seleccioné mientras estaba borracho ). La paleta disponible está tomada de las paletas NES disponibles libremente (olvido de quién, tal vez lo de Loopy). Una advertencia sobre cambiar las paletas: el código para actualizar la información del color es muy, muy hackish. Elegir un color que sea extremadamente cercano en valor a otro color ya seleccionado en su paleta puede hacer que el mosaico cambie los píxeles en ese color ya seleccionado al color recién seleccionado. Sin embargo, dudo que este sea un problema práctico, ya que creo que los colores tendrían que ser casi indistinguibles, de todos modos. Es poco probable que esto se solucione a menos que alguien me envíe un correo electrónico con una mejor manera de actualizar los colores cuando se cambian las paletas. Además, hay un error donde el dibujo mientras se mueve el mouse más allá del borde de la ventana se acercará al siguiente mosaico.
La ventana de la capa de baldosas es donde puedes pegar las baldosas para organizarlas y tener una idea de cómo se ven cuando se ensamblan. Al hacer clic en la ventana, pegará el mosaico seleccionado actualmente a la ventana de la capa de mosaico, en la cuadrícula 16x16 en la que hizo clic. La paleta actual se guarda, por lo que cualquier cambio en la paleta en la ventana de la capa de mosaico no afecta los mosaicos que ya ha pegado. Esto le permite mirar el mismo mosaico con diferentes paletas y tener una idea de cuál funcionará mejor para usted.
Los archivos se pueden cargar de dos maneras diferentes. La primera forma es abrir un archivo Chr-ROM sin procesar, en el mismo formato guardado como se indicó anteriormente. Nuevamente, esto solo cargará los primeros 8192 bytes por ahora. La segunda forma es cargar una imagen de ROM de formato de INES que tiene datos CHR-ROM (aproximadamente 3/4 de las ROM NES conocidas). Una vez más, esto es limitado, ya que solo cargará los primeros 8192 bytes de CHR-ROM. Sin embargo, puedo llegar a golpear eso. Mientras tanto, si desea mirar los otros datos en una ROM de Ines, cambie el código en Nestile (en realidad no sería demasiado difícil de hacer) o usar una herramienta como "DD" para extraer los datos sin procesar de la rom (que es lo que haría, porque soy flojo)
Los archivos también se pueden guardar de una de dos maneras diferentes, dependiendo de cómo se cargaran. Si no se cargó ningún archivo, o se cargó un archivo CHR sin procesar, el archivo se guardará como un archivo CHR sin procesar. Si el archivo se cargó desde un archivo formateado de INES, entonces se guardará como uno. Esto significa que puede usar el programa para editar los gráficos en ROM que tienen un CHR-ROM.
Algo a tener en cuenta: la información de la paleta no se guarda de ninguna forma o moda. Eso está ahí como una ayuda para usted, pero será responsable de mantenerse al día con la paleta en sus propios programas.
El menú de configuración se encuentra en la opción "Editar" del Menubar en la ventana de conjunto de mosaicos. Esta opción le permite cambiar el tamaño del CHR-ROM en el que está trabajando actualmente. Por el momento, esto solo funciona para gráficos RAW Chr -ROM, es decir, si abre un archivo ROM de formato INES, no puede cambiar el tamaño (aunque puede verlo). Esto podría cambiar en el futuro. El tamaño especificado se redondeará al múltiplo más cercano de 8192 bytes.
Muchos de estos se mencionan anteriormente, pero intentaré recogerlos a todos aquí como referencia.
Dibujar más allá del borde de la ventana de la ventana de edición de baldosas se dibujará en el mosaico adyacente
Cambiar un color en la paleta a algo muy cercano al color A que ya está en la paleta cambiará los píxeles dibujados en ese color al color recién seleccionado, también (esto podría no ser un gran problema, a menos que esté haciendo algo extraño ).
Es posible que tenga problemas con el programa si ejecuta una resolución de color que no sea 16 bits (tal vez no, sin embargo, no lo ha probado).
Arregle que no puede cambiar dos colores en la paleta al mismo color. Esto es para evitar el error antes mencionado donde podría sobrescribir accidentalmente un color seleccionando uno similar.
Agregar soporte para los colores de clic izquierdo y clic derecho
Agregar indicadores de selección para mosaicos y colores seleccionados actualmente
Divida la vista en una clase separada del modelo de datos de mosaico
Actualizar Readme con nuevos requisitos y nueva captura de pantalla
Agregar soporte de la rueda de desplazamiento
Haga que la ventana de la paleta sea modal o atada al que se hace clic derecho
Agregar ahorro de diseño de mosaico
Agregar procesamiento por lotes de diseño de mosaico
Agregue opciones de diseño de mosaico para reflejar con mayor precisión las paletas PPU
Corrige la lógica chr_rom_size
Hacer cuerdas nes_palette
Agregar soporte Guardar/Saveas FileName
Agregar soporte para especificar un archivo para abrir en la línea CMD
Esta página web para este programa es http://ensomnya.net/projects/nestile/index.html cualquier actualización realizada debe publicarse allí.
Gracias a todas las personas que trabajaron en la ingeniería inversa del NES y crearon documentación disponible gratuitamente para ello. Gracias también a John Finlay por sus documentos Pygtk, lo que hizo que fuera bastante fácil recoger esta biblioteca y hacer algo con ella. También gracias a Ted Kotz por revisar el código para que se ejecute en Python 3 y use Tkinter en lugar de Pygtk.