tuts_gba
Thread Id: 29781
Thread Name: FR | ASM | Actualización de las Evoluciones de Eevee al sistema DNS.
#0
G0LD_ZTHVARD0X! 27515
Pues el título lo dice, cuando en FR instalamos el sistema DNS (Dia, noche y estaciones) vemos que podemos hacer uso de eventos basados en el sistema Dia/Noche y en las estaciones, pero...

Como sabrás, a pesar de haber un sistema de Dia/Noche el método de evolución de Eevee a Espeon/Umbreon sigue siendo el mismo, pero gracias a Jambo51 es posible actualizar ese sistema a uno nuevo totalmente dependiente al sistema Dia/Noche (Si modificamos el código podemos hasta hacer evoluciones dependiendo de las estaciones.

=================
¿Que Necesitamos
=================
• Un ensamblador de rutinas ASM.
• Editor Hexadecimal
• Tener instalado el Sistema DNS de primedialga (Los otros no valen, solo este) el link de la herramienta esta Aqui

Hacer esto es sencillo, solo abre el ensamblador de rutinas ASM de Andrea y ensambla esta rutina, esta es para modificar la evolución de Eevee a Espeon


.text
.align 2
.thumb
.thumb_func
.global espeonevocheck
main:
ldr r1, time
ldrb r1, [r1, #0x0]
cmp r1, #0x4
bge no
cmp r1, #0x1
blt no
ldr r1, happinesscheck
bx r1
no: ldr r0, exit
bx r0
.align
time: .word 0x0203C000
happinesscheck: .word 0x08043001
exit: .word 0x08043111

insertala en una offset vacía, luego dirígete a la offset 0x42FC38 y cambia la dirección que ahi ves por el puntero donde insertaste la rutina (Ojo, esta rutina no requiere que agreguemos +1 a la.dirección, a pesar de ser .THUMB, asi que ponemos el puntero a la dirección sin sumar nada)

Para Umbreon.

.text
.align 2
.thumb
.thumb_func
.global umbreonevocheck
main:
ldr r1, time
ldrb r1, [r1, #0x0]
cmp r1, #0x4
bge yes
cmp r1, #0x1
blt yes
ldr r0, exit
bx r0
yes: ldr r1, happinesscheck
bx r1
.align
time: .word 0x0203C000
happinesscheck: .word 0x08043001
exit: .word 0x08043111

Haz lo mismo que la rutina de Espeon, solo que ahora el puntero esta en 0x42FCC, repite el proceso, guarda y listo! el método de evolución ha quedado actualizado dependiendo del reloj interno insertado.

Es todo, si se usa dar créditos a Jambo51 por la rutina.

Si son vagos o no saben ensamblar una rutina (Cosa que es muy facil) en el adjunto estan las rutinas ya compiladas en .bin solo para insertarlas y repuntear, pero si quieren aprender no lo recomiendo.
#1
Guilly Power 27880
Es una PASADA de tutorial!!
Me encanta, sencillo y eficaz :D
Lo único que no entiendo muy bien es el cambio que realiza la rutina en e método de evolución
#2
G0LD_ZTHVARD0X! 27515
Iniciado por Guilly Alpha
Es una PASADA de tutorial!!
Me encanta, sencillo y eficaz :D
Lo único que no entiendo muy bien es el cambio que realiza la rutina en e método de evolución


Modifica la rutina de la evolución de felicidad segun dia/noche de FR para hacerla identica a la de GBC, cuando sea de dia evolucionará a Espeon, y si es noche evolucionará a Umbreon, asi de sencillo.
#3
Flame4315♪ 28899
Maravilloso tuto!! Gracias por solucionarnos uno de los montones de problemas que tenemos por la falta de reloj interno en FR.
En cuanto al compilador, qué versión me recomiendas descargar? (Ya que la 0.x está rediseñada)
#4
milenco 29349
Hola, excelente tutorial, 2 consultas:
- si solo inserto el sistema rtc, funcionan igual las rutinas.
- las demás evoluciones por amistad día y noche servirán o solo sirve para eevee.

Saludos