10405-CAMBIO_MINI_\[RUBY_USA]
#3
JV Works 12391
Iniciado por cosarara97

Bueno, pues a mi se me ocurre una opción 3 (que no sabría aplicar =P) como solución al problema :awesome:
Todo lo que diga a continuación será asumiendo que elegimos "BOY" en la intro...
Bueno, dices que al entrar a la mochila o al menú pokemon se refresca la pantalla de de un modo diferente a como lo hace el warp, y al hacerlo, la variable del mini se cambia por 00. Pero para saber que tiene que escribir 00 y no 01, tiene que leer esto de algún sitio, no? Y este sitio es...?
A) Otra variable
B) El sav??? <- No lo creo
C) [Se aceptan ideas para la opción C xD]
Por lo que creo que la 3ª opción sería investigar ese refresco de pantalla que aparece al entrar en el menú pokemon.
No se si estas cosas funcionan así, pero yo creo que lo primero sería descubrir en que momento se cambia la variable del mini por 00 (al entrar en el menú, al salir, en un momento que decide un cactus por el medio (?), etc.) Esto supongo que se puede hacer "surfeando" la ram y observando el sitio donde está escrita la variable. Y bueno, para descubrir de donde se lee el 01, no se me ocurre nada...

________________________________________________________________
Pero... pachachachan!
Se me ha ocurrido otra aplicación para esto!
La cosa es cambiar la elección de BOY/GIRL por otra que tenga 3 o 4 opciones, por ejemplo, teniendo así mas minis para elegir al principio :) .

Entonces, podríamos comparar la RAM de 4 partidas, una en que se hubiera elegido la opción 00, una en la que se hubiera elegido la opción 01, una de la 02 y una de la 03. Si realmente en el refresco se lee de otra variable, las 4 rams tendrían 2 vars diferentes. Una ya la conocemos, y está en este offset: 02024EAC y la otra es la que buscamos.
Si esto no funciona, pues supongo que habrá que asumir que mi teoría (poco probable) de que se sobrescribe con otra variable es falsa x:(

Bueno, pues espero que lo que he escrito sirva de algo =P

Dew!


EDIT: Otro método para descubrir donde está esa 2ª variable teórica, es comprobar el script inicial del profesor, que no debe ser muy diferente a un script normal, que en algún lugar apuntará a la 2ª variable teórica (pero puede que solo apunte a la que ya sabemos y la teórica no exista, por eso es solo teoría =P)

EDIT2: Ahora quiero que contrarrestéis mi teoría con buenos argumentos (haciendo que me maldiga a mi mismo por haber gastado tanto tiempo escribiendo esto =P)


Te equivocas rotundamente con el script del profe cosarara, ya que como veras ES PURO CODE ASM, por lo que no LO PUEDES ABRIR CON XSE. Para aprender de el tienes que saber Asm.

-------------------------------

Eing!! me e fijado en lo que dijiste de que el warp es la unica forma de refrescar la pantalla, y debo decirte que eso no es cierto!!.

Lo que pasa es que como te dije por perfil, al refrescar la pantalla se resetea solo la VRAM, pero la WRAM sigue intacta. Entonces, el mini no cambia porque la rom ya paso el "Codigo" que carga el mini. Lo que hay que hacer es encontrar una forma de resetear también la WRAM, o hacer de alguna manera que la rom vuelva a pasar por el code que carga los minis en pantalla :P