sábado, 29 de enero de 2022

Como hackear save state Final Fantasy IX con ePSX 1.9.0

Hola, me dio por jugar Final Fantasy IX, el clásico de PSX en emulador. Luego de 70 horas, estoy casi al final, y me quedaban por subir 50 niveles para pelear contra Ozma, el que se le conoce como el jefe más dificil del juego. Además de estar oculto, ja. Bueno, calculé las horas que me faltaban por solo levear y calculo eran unas 30 horas, ja. Con mi tiempo que tengo para jugar, me demoraría unos 3 meses en llegar al nivel 99 en todos los personajes.

Bueno, recordé mi tiempo del pasado, cuando hackeaba ROMS de SNES, en un sitio viejo ya, con toda la pinta de los años 90: http://darknromhacking.com/

Leyendo por aquí y por acá encontré unos tips para hackear las salvadas de FFIX con ePSX. No encontré ningún tutorial en español, y bueno acá está. Espero les sirva si están jugando con un emulador.

____________________

Herramientas

-Emulador ePSX 1.9.0

-Debes usar el compresor 7-Zip ya que con WinRar u otro se comprime mal y se corrompe el savestate. Debes usar compresión tipo gzip y no lo encontré en WinRar o el clásico WinZip esta opción.

https://www.7-zip.org/

-También, romendo usar la Calculara de Windows en modo Programador


Así podemos convertir de Decimal a Hex y viceversa.

Paso a paso

Abre el emulador, ve a las configuraciones de Video, y dejalo en modo ventana, en mi caso considero que 1280x800 es bastante cómodo para el hack. Luego lo vuelves a como lo tenías.


Obtiene datos del juego. En mi caso, tomaré datos de Yitán. Abre el emulador y presiona F1 para guardar la partida.
No es necesario presionar ni si quiera Espape ni cerrar el emulador.

Anotemos estos dos por ahora
Vit: 4586 / 4596
PM: 229 / 229

Convierte a Hexadecimal esos valores
4586 = 11EA  => invértelo: EA11
4596 = 11F4 => invértelo F411
229 = E5, queda tal cual no se puede invertir


Bueno, al guardar la partida, se generá un archivo en el disco, en mi caso este archivo: SLES_329.69.000

Dentro de esta carpeta: D:\juegos\psx\ePSXe190\sstates\


Respalda este archivo por cualquier cosa.

Copiar este archivo en otra ruta, ejemplo:

c:\traduc\

Abrir este archivo SLES_329.69.000 con el según botón y lo descomprimes ahi mismo 

Se descomprimirá un archivo llamado en mi caso SLES_329.69 que pesa 4 MB aproximadamente.

Abre el archivo con un editor de texto con capacidades de Hexadecimal como http://darknromhacking.com/archivos/translhextion16c.zip o alguno de pago como EditPadPro

Busca con Control + G la dirección hex: 8B446, y verás un EA11 que si recuerdas es la Vitalidad 4586


Presiona INSERT para sobreescribir valores y no agregar. En algunos editores te indica que estás en este modo. Si agregas y no sobreescribes corrompes la salvada y no cargará nada. El emulador de hecho, al presionar F3 se cae y cierra solo, así que ojo piojo.

Cambia ese EA11 por 9999 de HP => 270F, invertido queda: 0F27, es decir, cambia EA11 por 0F27.


Guarda el archivo, ciérralo. 

Selecciona el archivo SLES_329.69 y con el 2do botón 7-Zip -> Add to archive


Selecciona compresión gzip y OK.

Se creará archivo SLES_329.69.gz
Cambia el nombre de este archivo por SLES_329.69.000 (si ya existe el anterior ahí mismo, renómbralo primero por SLES_329.69_1.000, y si ha hay, por SLES_329.69_2.000, etc. así te quedan los respaldos).
Si aparece esta ventana selecciona .
Copia y pega este archivo la carpeta de salvadas.

D:\juegos\psx\ePSXe190\sstates\

Te preguntará si quieres reemplazar el archivo selecciona que Si.

Ve al Emulador y simplemente carga la partida con F3 y ve que ahora tendrás 9999 de vida en la parte izquierda ja. No es muy útil ya que sirve en la parte derecha, pero bueno, ahora solo es cosa tuya de cambiar el resto de campos.

El PM 229 que es un decimal lo puedes cambiar por 999. Esto sería lo mismo de antes, primero averiguar 229 en Hex es E5 (calculadora de windows), y si queremos 999 es 3E7, que si lo dejamos para el juego sería
03 E7 => invertir => E7 03, entonces en el editor sería cambiar 
E5 00 por E7 03


El nivel de Yitán está acá. En mi juego, lo tengo en level 55 => 37 HEX, coloca 99 => 63 HEX. Com dato, en el editor hex, está 5 registros más atrás del EA11 de la vitalidad que ya cambiamos antes.


Los stats de Velocidad, Fuerza, Magia, toma los valores y conviértelos a Hex
Rapidez: 28 => 1C
Fuerza: 44 => 2C
Magia: 39 => 27
...
Defensa M: 55 => 37
Evasión M: 18 => 12


Búscalos tal cual en el editor 1C2C27 y los verás. Los puedes dejar en 636363 para que queden todos en valor 99.

Los puntos de habilidad los tengo en 1/48. Ese de 48 lo paso a Hex y queda en 30. En esta dirección lo dejé en 63 (99 puntos). Como dato está 5 registros antes de los puntos de stats que modificamos anteriormente.



NOTA: hay un bug o algo raro que pasa, y es que debes equipar primero equipo las Habilidades, Armas y Armaduras, y luego aplicar este hack, de lo contrario, al cambiar una habilidad o un arma/armadura, se reinician los puntos de vida y atributos como velocidad, fuerza, etc que hayan hackeado. no se porqué, quizá el juego tiene alguna rutina atrás.

Revitalia
Otra cosa rara, es que al tener mucha magia si te equipas AutoRevitalia en algún personaje, esta llenará con 624 de HP constantemente, digo unas 20 veces por segundo, ja, es como vida infinita siempre.


Bueno con esto, los dejo encaminados para que uds cambien otros campos a gusto. Nos vemos.