eing
Puntuación de reacción
1.504

Mensajes de perfil Última actividad Publicaciones Acerca

  • Haha, the mega evolution and dex expansion are already available for FR, so I don't have to do them except that I want to learn something from them xDD
    I'm currently looking at some graphic functions, and I may release something after the examination this week lol
    THX!
    I will surely make a hack with a storyline, as it's the ultimate goal hahaha
    But now I'm just learning and researching to make sure that I'm skillful enough to create a hack
    Acabo de encontrar esto, en plan, después de bastantes pasos para que me saliera un salvaje.
    Al salir sale esto: Screenshot by Lightshot , aunque tengo que revisar la rutina con lo que me has dicho, pero pfff...., llevo unos días que pa que...
    Pues veamos, me pongo otra vez, con la rutina puesta donde te he dicho (que me extraña, porque no veo la dirección bien"), ocurre lo siguiente:
    Screenshot by Lightshot

    No se si es que me he cargado la rutina de los salvajes o algo, y por eso salen menos o yo que se, voy a editar la rutina con lo del bx que me has dicho y te cuento.
    Por cierto, me daba error al usar r10 el otro día.
    Pues sí, me estoy liando, pero sigo sin verlo claro.
    A ver, vamos por partes.

    Lo que he hecho ha sido:
    1º- Hacer está rutina:
    .text
    .align 2
    .thumb
    .thumb_func

    main:
    ldr r5, =(0x8800000 + 1)
    bx r5

    .align 2
    Donde, 800000 es la ubicación donde insertaré la otra rutina.
    2º- Compilar la rutina.
    3º- Copiar la rutina en 083278 (Screenshot by Lightshot), si la coloco aquí o en 08327A crashea la rom.
    En cambio, si la coloco en 083279 Screenshot by Lightshot , casi funciona, en plan, salen con menos frecuencia los Pokémon.

    Ahora, lo que me dices al final, ¿te refieres a que haga como un "return" por así decirlo?
    Luego te sigo comentado, que tengo movida en casa...
    Eso era como hacíamos antes. Pero como en rojo fuego son tan limitadas pensé se podría haber descubierto algo más. O no se investigo o no se jaja. Seguiré con ese criterio!
    Cuales son las variables y flags disponibles en ruby?? Porque antes usabamos medio al tun tun jaja
    Hemos visto un pequeño fallo técnico, es que el hook lo puse 1 byte después de donde debía, pero después de ello no funciona como debería la rutina (aunque ya no crashea).
    Acabamos de editar un poco la rutina, pero sigue fallando:

    .text
    .align 2
    .thumb
    .thumb_func

    main:
    @derive 0x100 in register r10
    mov r6, r0
    mov r0, #0x64
    @this is how we call the function
    ldr r4, =(0x806E6D0 +1)
    bl linker
    @check if set or not
    cmp r0, #0x1
    beq set
    @Si no esta set
    mov r0, r6
    ldrb r1, [r0, #0x0]
    cmp r1, #0x4F
    bhi =(0x80832a8)
    cmp r1, #0x9
    pop {pc}

    set:
    mov r0, r6
    mov r1, #0x0
    cmp r1, #0x4F
    bhi =(0x80832a8)
    cmp r1, #0x9
    pop {pc}


    linker:
    bx r4

    .align 2
    He estado con Blax investigando el asunto, hemos encontrado el punto en el que editar el valor de r1 para que salgan o no los salvajes.
    Pues bien, nos hemos puesto con el tema del hook y tal, veamos:

    Hook:
    .text
    .align 2
    .thumb
    .thumb_func

    main:
    ldr r5, =(0x8800000 + 1)
    bx r5

    .align 2


    Rutina:
    .text
    .align 2
    .thumb
    .thumb_func

    main:
    @derive 0x100 in register r10
    mov r0, #0x64
    @this is how we call the function
    ldr r4, =(0x806E6D0 +1)
    bl linker
    @check if set or not
    cmp r0, #0x1
    beq set
    @Si no esta set
    ldrb r1, [r0, #0x0]
    cmp r1, #0x4F
    bhi =(0x80832a8)
    cmp r1, #0x9
    pop {pc}

    set:
    mov r1, #0x0
    cmp r1, #0x4F
    bhi =(0x80832a8)
    cmp r1, #0x9
    pop {pc}


    linker:
    bx r4

    .align 2

    El hook lo hemos puesto aquí:
    Acabo de hacer algo, que quizás debía haber hecho desde un principio. He estado probando hasta que me saliera un salvaje, aquí tienes los resultados:


    Investigación sábado:
    - Primer intento: Screenshot by Lightshot
    - Segundo intento: Screenshot by Lightshot
    - Tercer intento: Screenshot by Lightshot
    - Cuarto intento: Screenshot by Lightshot
    - Tras varios intentos: Screenshot by Lightshot (Sale un salvaje)

    Me voy a poner a ver la F1, ahí que ver, que últimamente solo tengo ratitos breves libres..., a ver si después de comer le puedo dedicar un buen rato.
    Acabo de ponerme un par de minutos que tenia libres, y me ha saltado en 4 sitios el brakpoint.

    Primero: 0808327a
    Segundo: 080832ba
    Tercero: 08082d2c
    Cuarto: 08082d3e

    No me da tiempo a indagar más ahora, pero bueno, me he fijado en un par de cosas.
    http://i.imgur.com/JErdXKn.png
    Estos son el 3º y el 4º, si te fijas, el 4º no tiene ningún comando detrás, y te iba a comentar algo más, pero se me ha olvidado..., vale, acabo de verla.
    La dirección del ratio es 083c8e90, pero en el 3º breakpoint que salta, en r1 tiene la dirección 083c9cbc, bastante cercana.
    No se si es algo importante o no, pero mañana le echaré otro ratito.
    Después de editar el registro y darle a continuar salta otro breakpoint antes de poder mover el personaje, sí.
    Ya mañana sigo con el asunto si tengo tiempo, aunque llegaré tarde de la uni...
    2º- Al mirarlo en el disassemble, y ver un poco todo, observo que en r0 almacena la dirección del ratio del mapa actual (supongo) y en r1 el ratio en cuestión.
    He buscado el primer push que hay por encima de cuando salta, pero ese push no incluye ni r0, ni r1.
    Ahora bien, estoy pensando (mientras escribo) que en cierto modo ver de "donde" llega me es un poco inútil, porque en realidad me da igual la función de como busca la dirección del ratio, que en realidad debería seguir bajando y buscar en que momento lo usa.

    3º- El tema del hook, no termine de entender bien bajo que circunstancias se podía usar en medio de la rutina o solo al final. Aunque bueno, primero me voy a poner a ver si llego a algo.
    Estoy ya en ello, no tengo mucho rato, pero bueno, si saco un poco cada día... Jajaja.
    Pues lo dicho, después de algunas pruebas y tal, he llegado a esto:

    - Primer bpr: Screenshot by Lightshot
    - Mirando el disassemble: Screenshot by Lightshot

    La verdad es que aunque me he visto los tutoriales y tal sigo un poco muy verde, pero bueno.
    En la 1º es cuando me salto el asunto, y ya en la 2º lo miro con el disassemble.

    Tengo un par de cuestiones, y a ver si voy encaminando bien el asunto.

    1º- He probado a editar el registro r1, se ha cambiado con éxito, pero no me ha salido ningún Pokémon después de ello. He probado a poner varios valores, como 20, 50, 100, pero sin que saliera en ninguna situación ningún Pokémon salvaje.
    ¿Estoy haciendo algo mal?
    PD: Lo que hago es cambiar el registro y darle varias veces a "c".
  • Cargando…
  • Cargando…
  • Cargando…
Arriba