[GBA] Naruto Ninja Council - Ayuda con los gráficos

Lugar donde se intentarán resolver problemas específicos
Responder
Avatar de Usuario
Loz
Mensajes: 39
Registrado: 10 Dic 2012, 16:04

[GBA] Naruto Ninja Council - Ayuda con los gráficos

Mensaje por Loz » 07 May 2013, 18:29

Hola a todos ¿cómo están?, espero que muy bien.

Bueno resulta que estoy traduciendo el ROM de Naruto Ninja Council para GBA, ya que no pude encontrar una traducción de este ROM por internet.

Además de que estoy empezando en esto del romhacking.

Bueno, sin alargarlo más voy al problema que tengo, resulta que me encontré con algunos gráficos entre cortados, me explico, resulta que en la ROM los gráficos se reproducen normalmente, tomaré el ejemplo de los nombres de los jutsus.

[img]http://i1260.photobucket.com/albums/ii5 ... ne/001.png[/img] [img]http://i1260.photobucket.com/albums/ii5 ... ne/002.png[/img]

Como pueden ver estos se ven completos sin nada especial, pero al momento de verlos en un editor de gráficos, tanto con TilED2006 y TileMolester se muestran así: (Pongo solo links porque las imágenes son grandes)

http://i1260.photobucket.com/albums/ii5 ... ne/003.png
http://i1260.photobucket.com/albums/ii5 ... ne/004.png
http://i1260.photobucket.com/albums/ii5 ... ne/005.png
http://i1260.photobucket.com/albums/ii5 ... ne/006.png
http://i1260.photobucket.com/albums/ii5 ... ne/017.png

Y cuando los traduzco y lo reproduzco en el emulador lo veo así:

[img]http://i1260.photobucket.com/albums/ii5 ... ne/009.png[/img] [img]http://i1260.photobucket.com/albums/ii5 ... ne/010.png[/img] [img]http://i1260.photobucket.com/albums/ii5 ... ne/011.png[/img]

Y después me di cuenta que algunos tiles se copian a varios gráficos al momento de reproducirlos en el emulador.

http://i1260.photobucket.com/albums/ii5 ... ne/012.png
http://i1260.photobucket.com/albums/ii5 ... ne/013.png
http://i1260.photobucket.com/albums/ii5 ... ne/014.png
http://i1260.photobucket.com/albums/ii5 ... ne/015.png
http://i1260.photobucket.com/albums/ii5 ... ne/016.png

Estuve buscando información sobre esto por internet pero no encontré nada al respecto, solo un documento que hablaban sobre esto para era para la consola de SNES.
http://darkn.romhackhispano.org/tutoria ... rites.html

Les agradecería mucho si alguien me orientar o me podría explicar sobre cómo podría encontrarla ubicación de los tiles, supongo que esto se hace en el editor hexadecimal, pero lo malo es que no se cómo buscarlos.

Bueno un saludo a todos.

Avatar de Usuario
CUE
Administrador
Administrador
Mensajes: 5520
Registrado: 24 Ene 2011, 16:52

Mensaje por CUE » 07 May 2013, 20:16

Los gráficos están bien. Lo que pasa es que no tienen una resolución fija. El primero, "Sexy Jutsu", es de 7x2 tiles de 8x8 pixeles, el segundo, "Shadow Clone" es de 9x2, etc. Además, hay partes que son comunes a varios textos, como "Jutsu". Tú has cambia "Sexy Jutsu" por "Jutsu Sexy", lo que hace que el texto "Shadow Clone Jutsu", en vez de mostrar ese "Jutsu" final te muestre "Sexy", que es lo que has puesto donde originalmente estaba escrito lo de "Jutsu", que además no ocupa el mismo número de tiles, por lo que antes de "Sexy" te muestra unos tiles sin sentido.

Para cambiar eso bien hay que buscar dónde está el mapeado que te dice qué tiles deben mostrarse.

Los tiles comienzan en 0x5963EC (el primero está en blanco) y se numeran a partir de 0x00. Antes de eso, como suele ser habitual, en 0x595BBC, parece estar el mapeado. Si te fijas, verás que hay parejas de bytes nn-A0, donde el 0xA0 creo que es la paleta de colores o algo de eso. El otro byte es el que indica el número de tile que se debe mostrar. Eliminando los 0xA0 por comodidad, queda:

Código: Seleccionar todo

00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00

01-02-03-04-05-06-07-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
08-09-0A-0B-0C-0D-0E-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00

0F-10-11-12-13-14-15-16-17-05-06-07-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
18-19-1A-1B-1C-1D-1E-1F-0B-0C-0D-0E-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
...
Cada línea de se compone de dos filas de 32 valores (64 contando los 0xA0), que son los tiles de cada palabra (el número es por lógica, viendo los datos, que lo normal es que el 08-09-... vaya debajo del 01-02-03... porque antes hay ceros). Parte del texto "Jutsu" son los tiles 05-06-07, que son comunes a los dos primeros textos. Tú has modificado esos tiles, así que en el primer texto lo verás bien, pero en el segundo te va a tomar lo que hayas puesto en los tiles 05-06-07.

Lo que debes hacer es traducir de tal forma que luego puedas aprovechar los tiles "repetidos". Yo lo que haría sería sacar los tiles, que son 72 en este caso, dividirlos en 2 filas de 36 y ver cómo se pueden poner los textos traducidos para aprovechar el espacio disponible. Y eso por cada tileset que haya. Es laborioso, pero es la única opción.

Seguramente me he explicado como el culo, además de no poner imágenes, pero si abres la rom con un editor hexadecimal para ir a las direcciones indicadas, y en otro proceso visualizas los tiles, podrás entenderlo mejor.

~~~ AÑADIDO ~~~
Me he equivocado, son 87 tiles en vez de 72.

Parece que la estructura del tileset es, usando el ejemplo anterior:

Código: Seleccionar todo

595BBC: mapeado de los tiles
5963BC: info:
        - 0x01 <-- ???
        - 0x40 <-- ¿longitud de cada fila del mapeado?
        - 0x08 <-- ¿ancho/alto del tile?
        - 0x08 <-- ¿alto/ancho del tile?
        - 12 ceros
        - 32 bytes de la paleta &#40;16 valores de 2 bytes&#41;
5963EC&#58; datos de los tiles
El "A" del 0xA0 de antes debe indicar que se use la paleta "BGP A" (sacado mirando la tabla de paletas)

Avatar de Usuario
Loz
Mensajes: 39
Registrado: 10 Dic 2012, 16:04

Mensaje por Loz » 08 May 2013, 21:40

Gracias por responder CUE.

La explicación se entendió perfectamente, aunque como mencionas que a simple vista no se comprende mucho, ya viéndolos con el editor hexadecimal y el editor de gráficos se comprende a la perfección.

Ayer entre un momento y vi la primera parte, lo añadido lo veré más tarde, después de mis clases de la facu.

Aunque me sigue picando una duda que tengo, ¿cómo es que encontraste las direcciones offset de los tiles y el mapeado?, existe un procedimiento o alguna pista que te indique lo que tienes que buscar en el editor hexadecimal y así obtener la información del mapeado de tiles y demás. Pregunto esto porque existen varios gráficos más que están hechos de esta forma y tendría que tener esa información para poder traducirlas.

Avatar de Usuario
CUE
Administrador
Administrador
Mensajes: 5520
Registrado: 24 Ene 2011, 16:52

Mensaje por CUE » 09 May 2013, 08:10

Para encontrar las cosas hay que usar la base del romhack: la observación y la experiencia, que después de ver tantas y tantas roms al final se sabe por dónde buscar.

Lo normal es que esas cosas siempre estén al "lado" de la información gráfica. Los gráficos se sabe dónde están usando los programas habituales (Tile Molester, TilED, ...). Luego es cuestión de mirar alrededor de esa dirección con un editor hexadecimal e intentar ver algún patrón. En este caso es sencillo porque se ven esos 0xA0 antes, y que están justo después de otro tileset, por lo que es lógico pensar que se trata de los datos que se están buscando. Mirando un poco más se ve que van acompañados casi siempre de un 0x00, y cuando no lo están son números que comienzan por una secuencia incremental, que, sacando la información como la he puesto, se ve que corresponde con los números de tiles.

Después queda la info de la paleta, que se ve con un emulador, viendo la información de la paleta, que en la GBA es de 2 bytes, y los valores coinciden con los que se ven en el editor. Yo he usado el no$gba porque se ve mejor esa información, además de que permite ver mejor la VRAM (ese punto siempre ha sido el fallo del VisualBoyAdvance):
[img]http://imageshack.us/a/img577/2482/dibujozxa.png[/img]
[img]http://img819.imageshack.us/img819/369/dibujorv.png[/img]

En la segunda imagen, pasando el ratón por la paleta A (la fila 10 del Background) se muestra en "Setting" los valores que se ven con el editor. Aquí ya se puedes darte cuenta que el emulador siempre es una herramienta útil para ver la información.

Avatar de Usuario
Loz
Mensajes: 39
Registrado: 10 Dic 2012, 16:04

Mensaje por Loz » 09 May 2013, 21:47

Muchas gracias, ahora ya tengo un poco más de conocimiento de como modificar este tipo de gráficos, como mencionas que la observación y la experiencia son la bases, y como se acerca el fin de semana veré los gráficos con más detenimiento y familiarizarme con lo que tengo que buscar.

Muchas gracias de nuevo CUE por la explicación y si tengo más dudas pasare por aquí.

Responder