Registrarse

[Otros] Encontrar el offset de cualquier paleta comprimida

Adke

weeeh
Este tutorial viene como complementación del tutorial de @#BloodMoon para encontrar el offset de cualquier imagen comprimida.

Igual algunos ya conocíais este método pero como no he visto ningún tutorial sobre esto ahí va ^^

Para llevar a cabo este proceso es necesario:
- VBA
- Editor Hexadecimal
- Bloc de notas
- APE

1º Paso:
Abrimos VBA y vamos a donde se vea la imagen que buscamos. Yo lo voy a hacer de las medallas.


2º Paso:
Una vez tenemos la imagen que queremos vamos a Tools>Tile Viewer y Tools>Palette Viewer. Se os abrirán dos pestañitas que tienen que verse más o menos así.


3º Paso:
Ahora vamos al Tile Viewer y buscamos en Char Base la imagen que queremos. En mi caso esta en el primero.
Movemos la flechita que pone Palette hasta encontrar la paleta que coincida con la imagen.


4º Paso:
En el Tile Viewer buscamos un tile que contenga muchos colores de paleta y los comparamos con las paletas que tenemos en el Palette Viewer.
Para comprobar que paleta es la correcta vas clickando los colores en el Tile Viewer y comparas sus valores (Azul) con los de las paletas del Palette Viewer hasta encontrar la paleta que buscamos (Rojo).


5º Paso:
Ahora estarás diciendo "muy bien todo esto pero ahora de dónde saco yo el offset de la paleta".
Pues bien, ahora viene la parte importante del tutorial.
Abrimos el Bloc de notas o cualquier editor de texto (también vale escribirlo en papel sí e.e) y vamos apuntando los valores de los colores de la paleta.
Pero no los valores de RGB sino el valor de donde pone Value


Hacemos esto con los primeros 4 colores (se puede hacer con más o con menos pero 4 son suficientes) y pasamos al paso 6 ^^

6º Paso:
Una vez tenemos los valores en nuestro Bloc de notas partimos el valor en dos números tal que así:

Ahora cambiamos el orden de los valores y los ponemos todos seguidos. A mi me queda así:


7º Paso:
Abrimos el editor hexadecimal (yo uso HxD) y le damos Ctrl.+F para buscar los valores que nos salieron.

Le damos a Aceptar y nos llevará a un offset que será el de la paleta que buscamos:D

En mi caso sería el offset 0x83CD2C0



8º Paso:
Una vez tenemos el offset y la paleta de la imagen podemos ir a NLZ y modificarlo perfectamente:



Y eso es todo, cualquier cosa que se entienda mal decidme y lo arreglo cuanto antes :blush:

Saluditos :3
 

Dani_SR_17

¡Pokémon LionHeart!
Respuesta: GBA | Gráficos | Encontrar el offset de (casi) cualquier paleta comprimida

Un buen tutorial, sin duda va genial para los que empiecen a cambiar paletas con HxD.

Te iba a decir que no siempre funciona, pero he visto el "casi", yo no soy de usar esto mucho, porque no soy de cambiar demasiadas cosas en la rom, pero si se que ciertas paletas en HxD no tienen los colores así puestos.
En plan, algunas veces hay "FF" entre colores y tal, o al menos es lo que yo he visto.

No tengo mucho tiempo, así que eso, un buen aporte ;)
 

Gold

Porrero a tiempo parcial
Miembro insignia
Respuesta: GBA | Gráficos | Encontrar el offset de (casi) cualquier paleta comprimida

Sip, a veces no suele funcionar porque el juego cambia el color de fondo por negro, y eso dificulta la búsqueda de la paleta. Igual buen tuto
 

Kaktus

Miembro insignia
Miembro insignia
Respuesta: GBA | Gráficos | Encontrar el offset de (casi) cualquier paleta comprimida

Wow :D
Gran tutorial, estoy seguro de que a más de uno le será de gran ayuda ^-^
 

Cheve

MoonLover~
Miembro de honor
Respuesta: GBA | Gráficos | Encontrar el offset de (casi) cualquier paleta comprimida

^ Genial! :D

Gracias por el aporte colega.

Quiero agregar que si bien lo que dicen mis compañeros arriba es cierto, si buscas de a pares de paletas (Por ejemplo los primeros dos colores) puedes igual encontrar las que tengan FF's en medio (O se las vas agregando a medida) aunque éstas paletas suelen ser las menos ya que son compartidas por gráficos al mismo tiempo (En varios casos) o están hechas asi para jodernos xD
 
Respuesta: GBA | Gráficos | Encontrar el offset de (casi) cualquier paleta comprimida

Hola, llevo ya un tiempo mirando el foro, pero me he decidido registrar para preguntar dudas que me van surgiendo, como en este tema. Estoy intentando buscar unos graficos pero no entiendo bien el paso de elegir 4 colores, quiero decir, en que orden puedo elegirlos? Tienen que ser del gráfico que busco o llega con que sea de la misma paleta? He probado a hacer el tutorial como el del ejemplo, con las medallas, y de los 4 colores hay uno que no esta en el tile de los otros 3 colores, por eso no me queda muy claro ese paso, todo lo resto lo tengo muy claro, el problema es en los colores, porque luego cuando busco los valores hexadecimales no me encuentra nunca resultados (y si, hago lo de apuntarlos y luego cambiarles ese orden).
Espero que me podais ayudar! :)
 

KanaCn

由紀カクタス
Respuesta: GBA | Gráficos | Encontrar el offset de (casi) cualquier paleta comprimida

Buen tutorial, asi ahorare tiempo de estar buscando tutoriales o andar preguntando alguna que otra paleta.
¡Espero que nos traigas más tutoriales!

-Yuki!
 

pikachu240

Junior C# Developer
Respuesta: GBA | Gráficos | Encontrar el offset de (casi) cualquier paleta comprimida

Estan bien estos tutoriales que ensañan a ser rom hacker de verdad :) porque usar una app no es un merito pero saber encontrar lo que quieres edo ya si :) y ene dte caso es aprender a buscar una paleta :) no esta mal,estaria bien poder saber el tilemap,tileset y esas cosas porque parecen hermanas de este tutorial :) lo digo porque se ve el tileset y quizás se pueda saber como buscarlos pero eso ya es otra pasito ;) con este ya me quedo bien, gracias :D
 

Bugrhak

A long time ago I used to call myself "Subzero".
Respuesta: GBA | Gráficos | Encontrar el offset de (casi) cualquier paleta comprimida

Estan bien estos tutoriales que ensañan a ser rom hacker de verdad :) porque usar una app no es un merito pero saber encontrar lo que quieres edo ya si :) y ene dte caso es aprender a buscar una paleta :) no esta mal,estaria bien poder saber el tilemap,tileset y esas cosas porque parecen hermanas de este tutorial :) lo digo porque se ve el tileset y quizás se pueda saber como buscarlos pero eso ya es otra pasito ;) con este ya me quedo bien, gracias :D
Se puede saber el offset de los tilemaps y tilesets usando el emulador también. Pero con otro método.

Despligea el spoiler si quieres saber como.

Bueno, creo que el título está claro, pero vamos a hacer éste tutorial lo mejor explicado y más detallado posible. ;)


Encontrar el Offset / Direccion de cualquier gráfico comprimido

¿Que necesitamos?

  1. Visual Boy Advance M (VBA-m) (Sitio Oficial) (Descarga Oficial)
  2. Notepad (O cualquer editor de texto) (Viene con Windows)
  3. NLZ-GBA Advance
  4. Un cerebro :p

Primer paso:
Bueno, ahora que tenemos éste Visual Boy Advance M, cargaremos nuestra ROM.
En mi caso, lo voy a hacer con FireRed, pero el proceso es exactamente el mismo para cualquier rom base .

Al abrir nuestra rom, no verán nada raro, es solo un emulador. ¿No?; ¡Si!; ¡No! ¡Que si te digo! ... En fin.



Segundo paso:
Fácil, o quizás no tanto.
Al entrar a éste tutorial, ustedes deben tener en mente algún gráfico que queréis cambiar; pues bueno, el segundo paso se trata de jugar el juego en el emulador nuevo, hasta un momento antes de que aparezca el gráfico en cuestión al llegar a ese instante, deben pasar al tercer paso.

Yo, buscaré el fondo de la mochila de FireRed para GOLD xD así que mi "paso antes de ver el gráfico" sería tener el menú abierto.



(Si quieren buscar el offset de algun fondo de batalla, pues sería antes de empezar la batalla/ Al meterse en la hierba alta)

Tercer Paso:
Antes de que aparezca nuestro gráfico, debemos ir al siguiente menú en nuestro nuevo y gris emulador:

Tools > Loggin



Se nos abrirá una ventana, de la cual solo explicaré lo que nos sirve (Puesto que el resto lo desconozco... por ahora xDDD)

Recomiendo a partir de aquí primero leer y luego ejecutar

En ésta ventana, marcamos SWI, y nos aparecerán al instante muchas instrucciones en el rectangulo marcado con celeste:



Ahora, rápidamente (Lo más rápido posible, pero no se desesperen que no pasa nada si tardan xD) presionamos OK, y volvemos a nuestro juego, avanzando hacia donde está el gráfico que queremos obtener.



Una vez llegamos:



Rápidamente abrimos de nuevo Tools > Loggin y desmarcamos SWI en la ventana.
Ahora, clicamos en "Save" y guardamos el archivo en el escritorio (O donde queráis)




Cuarto Paso:
Ahora abrimos el archivo sin extensión que nos dio con notepad (Bloc de Notas) (Si no sabéis como, simplemente le cambian el nombre al archivo y le añaden .txt al final)



Ahora iremos al menú "Edicion > Buscar" (O Ctrl + B).
Estando en el principio del archivo, en la ventana emergente que aparece escribiremos "Lz77"



Y clicamos en "Buscar siguiente".
Por cada linea que encontremos tendremos ésto:



Quinto Paso:

Abrimos nuestra ROM en NLZ. De cada línea que encontramos con el bloc de notas, cargamos la "Dirección de la ROM" que obtuvimos.



Al parecer yo he tenido suerte y he dado a la primera.

Y listo, allí tenéis el gráfico listo para editar.

-------------------- Fuera de Tutorial --------------------​

La mayoría de las veces, cuando se tienen instrucciones así como en mi caso, que hay tres juntas, una tiene que ver con la otra.
Aquí vemos éstas tres líneas:

LZ77UnCompWram: 0x08e830cc,0x02000844 (VCOUNT=53)

LZ77UnCompWram: 0x08e832c0,0x02000034 (VCOUNT=202)

LZ77UnCompWram: 0x08e835b4,0x02037acc (VCOUNT=221)

Limpiandolas:

0xe830cc Tileset (Grafico)

0xe832c0 TileMap (RAW)

0xe835b4 Colores (Paleta)


Espero que les sea de utilidad, ¡Salu2!

Concreta mente, esto sirve para saber el offset de cualquier imagen comprimida en formato lz77. Aunque en realidad, en primer lugar, con el emulador estamos haciendo una especie de registro de todas las veces que se hace un "swi", por así decirlo. Y como las imágenes se montan mediante uno, ahí lo tienes.

Claro que, también puedes abrir una herramienta que lea gráficos comprimidos (unlz gba, nlzgba, o la que recomiendo, gba graphics editor) y navegar hasta encontrar el gráfico. Pero como dije, solo sirve para gráficos comprimidos, para los que no lo son, creo que no.


En cuanto a las paletas, incluso sin usar APE puedes encontrarlas, solo basta un editor hexadecimal, y el rom abierto en el emulador...
 

JkiisRuizKill

Jkiis Ruiz
Respuesta: GBA | Gráficos | Encontrar el offset de (casi) cualquier paleta comprimida

Me sale contains invaled hex-values
 
Arriba