Your avatar

Zhacks

@Zhacks

Aprendiz de Romhacking que intenta mejorar juegos de GBA.
22

followers

10

following

  • Posts
    14
Post image : Guía de Tile Molester

Guía de Tile Molester

En este tutorial no solo explicaré algunas de las funciones más recurrentes de este editor de gráficos, sino intentaré que aprendáis cómo trabaja y qué sucede en la ROM en el momento de guardar nuestro trabajo. Todo esto siempre orientado a juegos de GBA.
El programa funciona con Java, por lo que debéis cambiar las propiedades “Se abre con” del archivo “TileMolester.jar” y establecer Java.
* Mi tutorial “Conceptos de Romhacking para GBA” puede ayudar a entender ciertas cosas a aquellas personas no familiarizadas con el Romhacking. 
Por su puesto obviaré las opciones de uso común en todas las aplicaciones como: abrir, copiar, pegar, guardar, etc. y me centraré en las específicas.
Algunas de las explicaciones se complementarán con otras, explicando unas el por qué de otras, pero claramente entendibles individualmente.
EDITAR
-Seleccionar Todo: Puede llevar a confusión, pues al clicar esta opción, no seleccionaremos toda la ROM sino el espacio de la ROM correspondiente al número de filas y columnas que tengamos desplegadas.
-Copiar en: Guardará en el formato de imagen que seleccionemos los tiles que tengamos seleccionados en la ubicación que indiquemos.
-Apply Selection: Copiará a la ROM la imagen que carguemos. Hay que tener en cuenta que para que se copie de forma correcta, el número de columnas debe ocupar el ancho de nuestra imagen. Es decir, si queremos introducir un sprite de 32x32 píxeles, el número de columnas desplegadas ha de ser 4. El número de filas será indiferente mientras sea igual o superior al alto de nuestra imagen.
VER
 Es importante saber, que cualquier modo de visualización que indiquemos en esta opción no modificará los datos en la ROM, solo el modo en que los visualizamos. Por el contrario, los datos que introduzcamos, como al importar una imagen, serán copiados a la ROM según el modo de visualización elegido en ese momento.
-Códec: Hay una larga lista de códecs, que no son más la forma/orden en la que están almacenados los datos de cada gráfico. En GBA los utilizados son los de 4bpp y 8bpp.
-Modo: Aquí tenemos la opción de elegir entre 1 Dimensión y 2 Dimensiones. Esto modifica la composición de los Tiles. El Modo 1 Dimensión es el que se usa normalmente y sigue el orden normal de lectura de los píxeles contenido en cada Tile, por lo que es fácil modificar un gráfico directamente desde su código sin necesidad de utilizar un programa de edición gráfica. El modo 2 Dimensiones, aunque no se suele usar, para los que quieran saber qué ocurre con los píxeles en cada Tile, lo explicaré de la siguiente forma: Hay que partir con el conocimiento de que este modo solo actúa sobre sprites que tengan al menos 2 Tiles de ancho (16 píxeles). Dicho esto, como debéis saber, cada Tile contiene 64 píxeles, pues lo que hace este modo es intercalar las filas de píxeles entre filas de Tiles de forma que comienza copiando el código de color de los primeros 8 píxeles de cada Tile, luego los segundos, los terceros, etc. 
Hay que partir con el conocimiento de que este modo solo actúa sobre sprites que tengan al menos 2 Tiles de ancho (16 píxeles). Dicho esto, como debéis saber, cada Tile contiene 64 píxeles, pues lo que hace este modo es intercalar las filas de píxeles entre filas de Tiles de forma que comienza copiando el código de color de los primeros 8 píxeles de cada Tile, luego los segundos, los terceros, etc. Para explicarlo de otra forma, enumeremos las filas de 2 Tiles. El primer Tile tendrá las filas del 1 al 8 y el segundo Tile tendrá del 1’ al 8’. En el modo 1 Dimensión las filas de píxeles quedarían copiadas en este orden: 1, 2, 3, 4, 5, 6, 7 y 8. En el modo 2 Dimensiones quedarían de la siguiente forma: 1, 1’, 2, 2’, 3, 3’, 4 ,4’, 5, 5’, 6, 6’, 7, 7’, 8 y 8’.Ejemplo gráfico de una fila de dos Tiles:
-Tamaño del bloque: Aquí podemos definir el número de filas y columnas a visionar. Esta función tiene sus propios botones en la ventana del programa.
-Fila-Entrelazado: Esa función nunca la he usado y desconozco de su utilidad. Tal vez sea por algún tipo de almacenamiento de gráficos en otras consolas, pero lo que hace es que organiza en columnas los Tiles de cada fila agrupados de dos en dos.
-Maya en Bloque: Esto realmente no sé qué función tiene, ya que al activarlo no noto que suceda nada.
-Maya en Mosaicos: Los Tiles quedan delimitados por líneas rojas.
-Maya en píxeles: Cada píxel queda delimitado mediante la aparición de una cuadrícula. Para verla debemos aumentar el zoom.
En este desplegable encontraremos funciones básicas de cualquier programa de edición gráfica como son rotar, reflejar y girar imágenes. Estas funciones tienen su acceso directo en la columna izquierda del programa.
-Desplazar: Esta función que viene divida en cuatro, una para cada dirección, sirve, como bien dice el nombre, para desplazar la imagen dentro del conjunto de Tiles seleccionado. Y esto es lo característico. Esta herramienta es útil si queremos desplazar el sprite completo hacia cualquier dirección en el caso de que no lo hayamos dibujado centrado, por ejemplo. Para ello debemos seleccionar todos los Tiles que conforman el sprite; y aclaro esto porque también es posible desplazar los píxeles de cada Tile de forma independiente. Basta con seleccionar tan solo el Tile en cuestión.
**NAVEGAR**
-Ir A…: Aquí escribiremos el offset donde se encuentre los gráficos que queremos visualizar, o donde queramos importar, crear, etc. un gráfico. Cuenta con un botón de acceso directo.
-Crear Registro: Un más que necesario marca páginas donde guardar las direcciones de los gráficos.
-Organizar Registros: Donde poder cambiar el nombre a los registros que guardemos, clasificarlos en carpetas, borrarlos, modificarlos, etc.
*Otras formas de navegar
Podemos desplazarnos por bloques, es decir, nos desplazaremos la misma cantidad de espacio visualizado (nºde filas y columnas) hacia delante o hacia atrás con estos botones.
También podemos desplazarnos saltando de fila en fila. Contra más filas tengamos desplegadas, obviamente más avanzaremos en la ROM.
Incluso más útil es desplazarse de Tile en Tile.
Y por último, de Byte en Byte.
Aunque este menú tiene varias opciones, solo nos interesarán principalmente:
-Importar Desde > Este archivo: Donde pondremos el offset donde se encuentra la paleta con la que queramos trabajar y el número de colores.
-Añadir a las Paletas: Como con los registros de direcciones, es un marca páginas de paletas.
-Organizar Paletas: Modificar, renombrar, eliminar y organizar paletas.
Son las que nos encontramos en la columna izquierda de la ventana del programa. Además de las ya mencionadas del menú Imagen, tenemos otras que aparecen con en este orden de arriba hacia abajo: Selección, Acercamiento (Zoom), Gotero (Cuentagotas o Selector de color), Pincel, Línea, Rellenar (Bote de pintura), Reemplazar Color y Mover.
Cualquiera que haya usado aunque sea el Paint sabrá para qué sirve cada una de ellas. Tal vez si merece explicación Reemplazar color, y es que lo que hace es cambiar un color por otro en todo el bloque visible que tengamos desplegado, así que cuidado con esta herramienta.
Además, podemos modificar individualmente los colores de la paleta haciendo doble clic sobre el color en cuestión.
Por último, decir que en la parte inferior de la ventana tendremos información del offset en el que nos encontramos, el Tile en el que se encuentra el puntero del ratón, la paleta que estamos usando, el códec, la Dimensión y por último el número de columnas y filas desplegadas.

Original
This post's author has indicated that the content is his/her own.
Created 3 days ago
Post image : DBZ The Legacy of Goku Sprites

DBZ The Legacy of Goku Sprites

Hace tiempo que extraje todos, o casi todos los gráficos de este juego, y hoy quiero compartirlos con vosotros. Sé que hay gente trabajando en remakes o en sus propios hacks de estos juegos, así que peude que os sean útiles de alguna forma.
Al final del artículo dejaré un enlace con la descarga de este material.
*Las imágenes están a tamaño original, por eso algunas pueden verse demasiado pequeñas.
HÉROES
ENEMIGOS
CIVILES
Descarga:

Original
This post's author has indicated that the content is his/her own.
Created 3 days ago
Post image : Modificar Fuentes de Ancho Variable

Modificar Fuentes de Ancho Variable

Uno de los motivos principales por el cual alguien decide realizar un “hackrom” de un juego es por querer traducirlo a su idioma natal.
Al tratarse de un idioma distinto, puede darse el caso de que la fuente no contenga los caracteres necesarios para que podamos traducirlo de forma correcta, ortográficamente hablando. Escribir correcto, cuidando la ortografía, eligiendo las palabras o expresiones correctas  y usar los signos de puntuación cuando se debe, es de agradecer y le da una calidad extra al resultado final.
Como muchos sabrán, el inglés carece de vocales tildadas, diéresis y los signos de apertura de interrogación y exclamación. Las vocales tildadas no forman parte como tal del alfabeto, pero el juego las cargas gráficamente y necesita saber cómo dibujarlas en pantalla, por lo que debe contener los datos. Existe la posibilidad de que las tildes y diéresis en algunos juegos estén programadas de forma independiente a la vocal, es decir, no hay un sprite para cada vocal tildada.
Aunque el juego no se haya traducido al español, puede darse el caso de que la fuente contenga los caracteres que necesitamos, tal vez porque en un principio pretendían lanzarlo en otros idiomas y al final no lo hicieron, o porque simplemente usaron ese recurso de otro juego anterior y lo dejaron tal cual, como es el caso del DBZ: Buu’s Fury.
-          mGBA
-          CrystalTile2
-          HxD
-          Rom: Yu-Gi-Oh! Gx: Duel Academy
Este tutorial mostrará cómo modificar fuentes de ancho variable cuya diferencia con otro tipo de fuentes es que sus caracteres tienen asignado un número de píxeles de espacio a ocupar en pantalla en lugar de un tile completo. De esta forma se consigue que los caracteres aparezcan en pantalla más cerca unos de otros a la vez que se aprovecha el espacio en pantalla.
En el caso de que los caracteres de la fuente no estén comprimidos y ocupen tiles completos, se podrán buscar en la rom como sprites normales y por consiguiente, modificar como muestro en este tutorial.
Si no, habrá que configurar algunas opciones en nuestro programa de edición gráfica para poder encontrar la fuente.
El juego que voy a modificar contiene fuentes de ancho variable, y además, no presentan caracteres y signos de puntuación latinos (vocales tildadas y signos de interrogación y exclamación de apertura). Así que toca trabajar.
Abramos CT2 y carguemos el Rom. Acto seguido id a “View” y clicáis en “Tile Viewer”. Un atajo es pulsar sobre el icono de una cuadrícula con una montaña y el sol dibujado. Una vez hecho esto, en el panel izquierdo se muestra unos ajustes que debemos configurar de la siguiente manera:
Ajustes genéricos (Para cualquier Rom que use este sistema de almacenamiento de fuente):
-Width : 16
-Height: 16
-Tile form: NDS 1bpp 
Ajustes específicos (Estos ajustes pueden variar según el juego. Son ajustes de orientación, por lo que dependerá de cómo programaron los caracteres para poder visualizarlos correctamente):
Offset:1435D80”. Este es el offset donde comienzan los caracteres de los textos de los diálogos. Si os desplazáis hacia arriba o abajo, podéis comprobar que hay más fuentes. La forma de comprobar a qué textos pertenecen es tan simple como escoger una letra, preferiblemente una vocal y que sea muy usada, “a” o “e” y borrarla o modificarla. Tras guardar los cambios, abrid el juego con el emulador y comprobad en qué textos se ha producido el cambio. Puede ser algo tedioso, pero no me sé otro método. No obstante, por el tamaño de las letras y su forma, os podéis hacer una idea de cuáles son los textos para los que son usadas.
Angle: +90º
Flip horizontal: Active
Hay más ajustes, pero como he dicho, estos son los que hay que configurar para ver correctamente los caracteres en este rom.
Cuando lo hayáis terminado os debería de quedar así:
Sí, se que están tumbadas, y esto lo podéis arreglar poniendo el Angle en 0º, pero habrá algunos caracteres que no se verán completos, aunque desplazándoos por el documento con los cursores, lo puedes arreglar, pero se distorsionarán otros. Ya como a cada uno le resulte más cómo trabajar.  Estos caracteres vienen así porque es una forma de encriptación de muy bajo nivel.
Bien, ahora llega el momento de decidir qué caracteres de los que hay pueden ser sustituidos por los que nos hacen falta.
Inciso:
*En algunas roms, si conseguís dar con los datos relativos a la fuente (caracteres activos y píxeles asignados) podréis incluso añadir en lugar de modificar.Un ejemplo es la fuente del juego de One Piece que estoy modificando:
Si nos fijamos, hay símbolos que nunca usamos en la escritura o muy rara vez se usan e incluso pueden ser sustituidos por otros. Los caracteres que modifiquéis serán a vuestro criterio y si más adelante veis que deberíais haber modificado otro, siempre lo podréis volver a su estado original y modificar otro repitiendo todo este proceso.
Para dibujar el carácter, tan solo debéis hacer doble clic en el tile (cuadraditos en los que está dividida la pantalla) en el que se encuentre el carácter que queréis modificar  y en pantalla sólo os quedará ese tile. Con el botón derecho del ratón pintáis y con el izquierdo borráis. Algunos caracteres están divididos entre dos tiles, así que lo tendréis que dibujar por partes. Para volver a la pantalla donde aparecen todos los caracteres, pulsad sobre el icono de la cuadrícula con la montañita dibujada que comenté al principio.
Intentad seguir el mismo estilo de tipografía y que las vocales tildadas sean idénticas a las que no lo están. También debéis tener en cuenta que hay un tamaño máximo para cada letra. Creo recordar que para esta fuente eran 5 x10 píxeles. Por lo que, a la hora de introducir las vocales mayúsculas tildadas, algunas se os quedarán más chicas de lo normal. No os preocupéis porque es totalmente normal. Hay juegos traducidos oficialmente al español a los que les ocurre lo mismo. Lo que se suele hacer es diferenciarlas de las minúsculas por tener otro diseño. En nuestro caso, la “I” y la “O”, se quedarían exactamente iguales, pero no nos preocupa porque no creo que usemos palabras que empiecen por esas vocales tildadas.
Cuando terminéis, depende de qué caracteres hayáis cambiado, os debería quedar algo así:
Los caracteres que yo he cambiado son los siguientes:
& x ¿     | x ¡     ~ x ñ     ^ x á    ` x  í     ' x é    = x ó    _ x ú   @ x Á     + x Ú     * x É
Es importante que anotéis estos cambios porque a la hora de escribir el texto debéis de escribir el carácter que hayáis cambiado para que aparezca el que habéis puesto en su lugar.
Ejemplo: Para que aparezca “Esperábamos”, debéis escribir “Esper^bamos”.
Hay caracteres que no he añadido como la “Ñ” y la diéreis porque no creo que se llegue usar. Si se diera el caso, tan solo hay que añadirlas.
Una vez terminado el trabajo, guardáis y abrís el rom modificado con un editor Hex. En mi caso “HxD”. Tenemos la suerte de que este juego trae texto legible, por lo que buscaremos alguna frase que sepamos que aparecerá pronto. En este caso, un texto del diálogo del director de la academia al empezar la partida. Así que, vamos a Search, Find, en “Datatype” seleccionad Text-string y en “Search for” escribid “Welcome, elite duelists!  Os llevará al Offset: 1409C2C.
El siguiente paso para comprobar que lo hemos hecho bien es SUSTITUIR y no BORRAR ese texto y poner en su lugar los caracteres que hemos modificado.
Tras guardar los cambios, iniciad el juego con vuestro emulador y cuando lleguéis al diálogo en cuestión, debería salir, según el orden que lo hayáis escrito, algo así:
Si no lográis entender algo, decídmelo para darle una vuelta al tutorial e intentar explicarlo mejor.
Saludos, Hackers!

Original
This post's author has indicated that the content is his/her own.
Created 5 days ago
Post image : Conceptos de Romhacking

Conceptos de Romhacking

Para aquellos que quieran adentrarse un poco más en el mundo del romhacking y aprender más allá de buscar gráficos y editarlos, es necesario tener claro varios conceptos con los cuales sería complicado seguir avanzando.
Aquí os dejo un listado y una breve explicación.
ROM: Es la memoria que contiene el juego ubicada en cada cartucho de videojuego. De ahí que llamemos a nuestros archivos con extensión “gba” ROMs.
Emulador: Consola virtual con la que podemos ejecutar nuestras Roms. Normalmente viene con herramientas de depuración, por lo que sería más correcto llamarlo “Debugger”. Esas herramientas son imprescindibles para cualquier Romhacker. (editado)
Editor Hex: Programa con el que editaremos nuestras Roms. El código que veremos y utilizaremos será el hexadecimal. (editado)
Offset: Dirección. Coincide con el número de Byte en el que nos encontremos en el editor hexadecimal o visor de memoria de cualquier Debugger. Los juegos de GBA suelen pesar 8 MB, que serían 7FFFFF Bytes (este sería el offset del último Byte), aunque también los hay de 32 MB, e incluso los de 8 podemos ampliarlos a 16 o 32 MB. (editado)
Puntero/Pointer: Indica a la consola el Offset  donde se encuentran los datos que necesita. Están formados por 4 Bytes y están escritos en formato Little-Endian. (editado)
Ejemplo:
Para saber el Puntero del Offset “24 82 00 “debemos escribir este offset copiándolo conforme lo leemos de derecha a izquierda: “00 82 24”. Esto es el formato Little-Endian.
Por último se le añade el Byte 08 al final, quedando “00 82 24 08”. Se añade “08” por ser la memoria de la consola en la que se encuentra el ROM, por lo que en un Debugger, para dirigirnos a cualquier posición de memoria de la ROM, deberíamos añadir “08” al principio del Offset.
Usando el Offset del ejemplo anterior, sería “08 24 82 00”. (editado)
Tabla de Punteros/Pointers: Son varios punteros agrupados que normalmente guardan relación. Textos de diálogos, paletas de colores, gráficos, etc.
Repointear: Es modificar el puntero de alguna dirección por el de otra en la que hayas introducido nuevos datos que por longitud de espacio no hayas podido reescribir en la original. Se usa sobre todo para traducciones de juegos ya que según el idioma, es necesario el uso de más caracteres o palabras.
Código Hexadecimal: Es un sistema de numeración que tiene como base el 16 y que se representan con los diez dígitos del sistema decimal (0-9), seguidos de las seis primeras letras del abecedario (A-F) siendo su equivalente decimal el intervalo 0-15 (16 números) respectivamente. Cada Byte (8 bits) es representado mediante la agrupación de 2 cifras hex (4 bits cada una), por lo que las combinaciones posibles combinaciones tienen su comienzo en 00 y su fin en FF, siendo 0 y 255 sus equivalentes decimales respectivamente o dicho de otra forma, los 256 valores posibles de un Byte. (editado)
Indexar: Limitar el número de colores en la paleta utilizada por una imagen.
Sprites: Son los gráficos de objetos y personajes de los juegos. Al igual que cualquier gráfico del juego, está divido en Tiles. Aunque hay métodos que puedan hacer que sean de mayor tamaño, sus dimensiones abarcan desde los 8x8 hasta 64x64.
Tile: Un azulejo, o para que nos entendamos mejor, un cuadrado de 8x8 píxeles que forma parte de cualquier tipo de gráfico.
Tileset: Es el conjunto de Tiles que forman un gráfico. Normalmente hay gráficos que contienen varios Tiles idénticos, por ejemplo la zona del cabello de Goku contiene varios Tiles de color negro, pues el Tileset tan solo necesitaría contener uno de ellos ya que su Tilemap es el responsable de hacer que se repitan las veces que sean necesarias en pantalla para formar el gráfico. Lo mismo ocurre con Tiles que al ser volteados, bien horizontalmente, bien verticalmente o incluso de ambas formas, coincida con otro Tile del gráfico.
Tilemap: Usado en los Backgorunds. No es más que una guía  que contiene la información de la posición y otros atributos de cada Tile de los gráficos para que se muestren correctamente en pantalla.
Paleta: Son los colores de cada gráfico. Pueden ser de 16 o 256 colores, pero siempre uno de ellos, el primero de la paleta, es utilizado como color transparente, es decir, ese color, que puede ser cualquiera, no será visible durante el juego. Normalmente se usan colores que destaquen, muy saturados y con brillo. Pueden haber gráficos (backgrounds) que usen varias paletas de 16 colores, por lo que en caso de que quisiéramos modificarlos sería un proceso más laborioso tanto para elegir qué colores debe tener cada paleta, qué paleta usará cada Tile y posteriormente así reflejarlo en el Tilemap.
Muestra
Texto simple
La forma más básica de almacenar el texto es introducirlo tal cual, por lo que serán visibles en nuestro editor hexadecimal pudiéndolos buscar bien mediante una cadena de texto o su equivalente en hexadecimal.
Este formato utiliza un Byte para cada carácter, pero podemos encontrarnos la situación de que utilice 2 Bytes, siendo el segundo Byte “00”, que en ASCII equivaldría a “0”, por lo que usando la palabra marcada en la imagen como ejemplo en hexadecimal quedaría “*47 00 6F 00 6B 00 75 00*” y en ASCII se leería “*G0o0k0u0*”. A este formato se le conoce como Texto Unicode o 16 bits.
Texto encriptado
Cabe la posibilidad de que el juego utilice una tabla de caracteres propia, es decir, el código ASCII no se corresponde con su código hexadecimal, por lo que si “a” corresponde a 61, en una tabla propia podría ser “14”por ejemplo, por lo que hay que averiguarla para poder hallar los textos. Hay programas de Búsqueda Relativa orientados a encontrar y elaborar dichas tablas, e incluso editores hexadecimales que cuentan con esta función.
Para más inri, puede ser que además de encriptado, esté en formato Unicode, lo que complicaría más aún las cosas, y no solo eso, si no que utilice combinaciones de Bytes específicos para espaciar palabras, indicar el fin del texto, que suele ser “00” , etc. pues esto hace que mientras no las conozcamos, no podamos buscar más de una palabra.
Compresión DTE
No he tenido mucha experiencia con este tipo de encriptación en mi corta carrera de Romhacker, pero es un método muy interesante que puede ahorrar espacio en el ROM y tiempo, pues son BYTES que se usan como comodines en sustitución, por lo general, de palabras que se repiten con frecuencia o muy largas. El único juego con el que he trabajado y utiliza este método es Yugioh Duel Academy. Resumiendo, puede ser uno, dos o varios Bytes que el juego representará según la palabra indicada en una tabla. Un ejemplo podría ser que si escribiéramos el código “10 9A” equivaliese a “Mutenroshi”.
Texto comprimido
No hay mucho que explicar más allá de que si el juego contiene mucho texto, varios idiomas, etc., este se encuentre comprimido con algún algoritmo, por lo que las posibilidades de poder modificarlo son muy remotas.
Para entender cómo se almacenan los gráficos, es necesario diferenciar si estos usan una paleta de 16 o 256 colores. El concepto es el mismo, solo que en el segundo caso ocuparían el doble de espacio en el ROM.
Explicaré de una forma generalizada y los más comunes de dichos métodos, códecs a partir de ahora, pero se ha de saber que aunque el concepto es similar, hay variantes que hacen cambiar el orden de los Bits o Bytes en función de cómo se organicen los píxeles de los Tiles.
Paleta 16 coloresEl códec usado por norma general es el 4bpp lineal reverse order. Esto significa que el color de cada pixel se almacena en 4 BITS, o lo que es igual, 1 BYTE  contiene la información de 2 Píxeles.
Para ello enumera los colores de la paleta de 0 a F.
Los datos se almacenan con la información de Tile por Tile de izquierda a derecha y fila tras fila de Tiles. Cada Tile configurado con un códec 4bpp, ocupa 32 Bytes (20 en hex), 32x2 píxeles = 64, que es el número de píxeles por Tile.
Al tratarse del Reverse Mode, significa que los píxeles se escribirán en orden inverso de a dos.
**4 BPP LINEAL **               **4BPP LINEAL RO**                                    
      11 11 61 11                                   11 11 16 11
      11 11 11 16                                   11 11 11 61
      11 15 11 11                                   11 51 11 11                   
      11 54 51 34                                  11 45 51 43        
      01 54 53 34                                 10 45 35 43
      11 15 64 56                                  11 51 46 65    
      00 01 15 43                                  00  10 51 43        
      00 BC 69 55                                00 CB 96 55
* Cada fila corresponde a una fila de píxeles del gráfico.
Paleta de 256 colores
El códec usado es 8bpp lineal, y como se puede suponer, este códec usa 8 bits por píxel, por lo que cada Byte indicará un píxel distinto. Esto quiere decir que ocupará el doble de espacio que un gráfico que use una paleta de 16 colores, pero a cambio puede contener mucho más colores y quedar un diseño mucho mejor.
EL orden de almacenamiento en la ROM es exactamente igual al anterior, solo que los colores no compartirán Bytes. Supongamos que el Tile del ejemplo anterior dispone de una paleta de 256 colores, lo que haría que el código hex quedase de la siguiente forma:
 01 01 01 01 06 01 01 01                                       
01 01 01 01 01 01 01 06                                       
01 01 01 05 01 01 01 01                                       
01 01 05 04 05 01 03 04                                       
00 01 05 04 05 03 03 04                                       
01 01 01 05 06 04 05 06                                    
00 00 00 01 01 05 04 03                                       
00 00 0B 0C 06 09 05 05
Espero que os haya parecido interesante y sobre todo aprendáis. 
¡Para cualquier duda, por aquí me tenéis!

Original
This post's author has indicated that the content is his/her own.
Updated 6 days ago
Post image : Herramientas de Romhacking

Herramientas de Romhacking

Todo artesano necesita de herramientas para poder trabajar en sus creaciones, y los romhacker no somos menos. Antes de nada, agradecer a todos aquellos que crean estas aplicaciones que nos permiten y facilitan poder crear nuestros hacks.
Dicho esto, expondré una lista con una breve descripción de las herramientas que suelo utilizar. Como ocurre con casi cualquier producto, puede haber utilidades que si bien cumplen la misma función, pueden ser más completas, específicas, sencillas, etc., pero con estas son con las que trabajo, y por ahora me va bien.
*Estas aplicaciones son genéricas, por lo que no son para juegos específicos.
Un editor gráfico muy potente con el que podrás modficiar, crear, e introducir no solo sprites, también paletas.
Similar a Tile molester solo que también trabaja con algoritmos de compresión.
Un editor de paletas con el que podrás modificar las del juego de una forma muy cómoda. También contiene un conversor de colores de RGB a GBA muy útil.
Una herramienta para crear tablas de caracteres y poder cargarlas en el editor hexadecimal y modificar los textos de forma más sencilla.
Un conversor de texto a hexadecimal en distintos formatos.
Un buscador de textos encriptados con el que podrás además crear la tabla de caracteres automáticamente conforme a los resultados que obtenga.
Con esta herramienta podrás aplicar los parches de los hacks que consigas o por el contrario crear los tuyos propios.
Encuentra, exporta e importa MIDIs.
Hay infinidad de editores hexadecimales , y según las necesidades te convendrá mejor uno u otro, pero HxD es sencillo, simple y permite copiar y pegar datos de forma normal. Se le echa en falta utilidades como los bookmarks o poder cargar tablas, pero cumple su función perfectamente.
Si vas a trabajar con tablas, este es tu editor hexadecimal. Cabe decir que no solo edita hex, sino crea tablas, hace búsquedas relativas e incluso puede modificar gráficos.
Prácticamente igual que VisualBoyAdvance con la diferencia de que se puede copiar los datos de la memoria desde el Memory Viewer, exportar sprites ya indexados, etc. Super cómodo para trabajar. La calidad de imagen es algo mayor en mi opinión.
Básicamente se trata de un Paint, pero optimizado para crear gráficos de GBA ya que trabaja con la paleta de colores que admite dicha consola.Además posee otras característica que la hacen imprescindible.
Un compresor de datos con diferentes algoritmos.
Con este programa podremos ver los Tiles de las imágenes que estén encriptadas con este algoritmo, cargar su paleta y exportarlas. También nos servirá para importar nuestros propios Tiles.
Hasta aquí este listado, el cual puede que vaya aumentando con el tiempo en caso de acodarme, descubrir o creen nuevas herramientas.
Si te gusta este tipo de contenido, apóyame dándo like y siguiéndome para seguir compartiendo.
¡Saludos!

Original
This post's author has indicated that the content is his/her own.
Updated 6 days ago