qna_rh
Thread Id: 12221
Thread Name: No entiendo el tutorial de cómo repuntear textos
#0
Mr-Link 20751
Estaba mirando este tutorial:
http://wahackpokemon.com/wiki/Texto
la parte de repuntear y estaba probando con bag.
Pero llego a un punto que no entiendo lo que dice:

"5. Ahora viene lo que se le atasca a todo el mundo, darle la vuelta al offset. Se trata de dividir el offset en tres parejas e invertir el orden de las mismas. Observa este ejemplo:
$ABCDEF > AB CD EF > EF CD AB
Por lo tanto:
$6b0132 > '32 01 6b $123456 > 56 34 12; $667788 > 88 77 66
Dale la vuelta a los offsets donde se encuentran BAG y MOCHILA y anótalo
(ej: EF CD AB, 32 01 6b)
6. Ahora busca el puntero de BAG. Esto es, un sitio que me indique el offset donde está escrito, y en ese sitio, si BAG está en $ABCDEF, estará escrito |EF||CD||AB| (valores hexadecimales, recuerda que en thingy 32 es con @ o ` `), así que este es el texto que hemos de buscar.
7. En donde esté escrito |EF||CD||AB| escribe el puntero de MOCHILA |32||01||6b| (valores hexadecimales)"

No entiendo nada, por favor, expliquenmelo todo.
Estoy trabajando con ruby usa (inglés, y sin mugs).

Gracias de antemano.
#1
Ciro4315♪ 17148
Si te he entendido bien, no entiendes la parte de repuntear, no?
Mira, para repuntear divides un offset (6 caracteres) en 3 grupos de 2 caracteres cada uno.
284624 = 28 46 24
Ahora simplemente empiezas a contar el offset desde el final, pero agrupando los grupos al revés (oh dios, que lío te estoy diciendo).
Creo que con unos ejemplos lo entenderías mejor:
284624 >> 28 46 24 >> 24 46 28
956AF1 >> 95 6A F1 >> F1 6A 95
1947E3 >> 19 47 E3 >> E3 47 19
#2
Mr-Link 20751
Sí, pero ¿donde lo escribo y que pongo respecto a la edición, en la parte en la que estoy escribiendo (espacio y espacio en bag? o por hay suelto tras encontrar bag?
#3
cosarara97 12296
Bueno, lo primero que tienes que hacer es encontrar el sitio donde está escrito el "BAG" que tu quieres, el del menú. Esto lo buscas con Thingy, que supongo que ya has aprendido a usar un poco.
Bueno, cuando hayas encontrado la palabra, esta palabra va a estar anotada en una dirección del ROM. Esta dirección la llamamos offset. Te pondré un ejemplo para que lo entiendas mejor. Mira, imagínate un ROM que tuviera solo esto:
AA BB CC 11 22 33 44 55 66 77 88 DD 99 34 AB CD EF 23 42
Bueno, en este ROM tenemos 19 bytes escritos en Hex. Cada byte son 2 cifras en hexadecimal.
El primer byte, AA, está escrito en el offset (la dirección) 0, porque es el primero y empezamos por el 0 en lugar del 1.
Bueno, el segundo, BB, está escrito en el 1, el CC en el 2, y así sucesivamente , hasta llegar al 42, que está en el offset 18.
En tu ROM pasa lo mismo, y se entiende por el offset de la palabra BAG el offset en el que empezamos a escribirla. Ahora apunta el offset de BAG. Para hacerlo, pon el cursor antes de la letra B, y mira el offset HEX que pone arriba a la izquierda de la ventana del Thingy32. Te lo da en decimal y en hexadecimal, sobretodo coge el hexadecimal. Apuntalo en un papel.
Espero que hasta aquí lo hayas entendido.
Bueno, pues hay un sitio del ROM en el que el juego usa el texto BAG. Y en nuestro ROM, esto lo vemos como un puntero. Un puntero es una cosa que apunta hacia otra. Imagínatelo como un cartel o una flecha apuntando hacia un pueblo.
Y como en el sitio donde pone "BAG" no nos cabe la palabra "MOCHILA", y tenemos que escribirlo en otro sitio, también tenemos que cambiar la flecha (el puntero).
Ahora habrá que hacer es escribir mochila en algún sitio del ROM. Coge el Thingy32, ve a un sitio con espacio libre (que esté todo lleno de bytes FF) y escribe la palabra "MOCHILA". Apunta su dirección.
Ahora hay que cambiar la flecha, o puntero, y como no sabemos donde está, habrá que buscarlo. ¿Y como lo buscamos?
Para buscar una cosa, primero hay que saber como es esta cosa. Bueno, ¿y como es un puntero? Muy fácil, en un puntero hay escrito el offset del destino pero girado. ¿Y cual es el destino? BAG. ¿Y cual es su offset? Lo tienes apuntado.
Bueno, pues vamos a girarlo. Si tu offset fuera 123456 (12 34 56), girado sería 563412 (56 34 12). Ponemos el primer byte al final el del medio lo dejamos igual y el último lo ponemos al principio.
Luego buscamos con thingy este texto (el offset girado) EN HEX. El tutorial te explica como hacer esto, creo que era pulsando "`"a la hora de escribir el texto a buscar. Una vez lo encuentres (encuentres la flecha), solo tienes que sustituirlo por una flecha que apunte al offset de mochila. Para hacer una flecha, tenemos que hacer lo mismo. Cogemos el offset de MOCHILA, y le damos la vuelta. Lo que nos dé, lo escribimos allí, también en hex.

Se que es un rollo, pero seguramente esto que acabo de escribir te servirá para entenderlo un poco, xD.

Dew!
#4
Mr-Link 20751
...
Esto es de información adicional:
Ya lo conseguí hacer hace unos días, es muy fácil, y realmente no es tan dificil de entender como me parecía,...
Un saluda y gracias.
PD:Cierren el post o bórrenlo, ya que no hay nada que decir aquí...