28219-FR_|_ASM_|_Cambio_de_sexo
#0
Javi4315♪ 13374
La verdad es que eso del "cambio de sexo" no me acaba de sonar bien xD

Bueno, he visto un comentario de Jota que decía lo siguiente:

Lo voy a probar en FR y te digo, que no todos los wbto de ruby funcionan en FR como tú dices, por ejemplo, el del cambio de sexo y alguno mas en FR no me funcionaron.


Hacer un "cambio de sexo" es cambiar del personaje masculino al femenino o viceversa. Esto, si sacrificamos uno de los personajes (obligando por ejemplo a escoger el masculino), implica tener otro personaje con su propio mini, sprite y backsprite. Lo que es un cambio total de personaje (o de ropa). Y como parece que es algo que puede venir bien, he hecho una rutina para cambiarlo:

.align 2
.thumb

push {r0-r1,lr}
ldr r0, .asdf
ldr r1, [r0]
mov r0, #0x0
ldr r0, .var_8000
ldrb r0, [r0]
strb r0, [r1,#0x8]
pop {r0-r1,pc}

.asdf: .word 0x0300500C
.var_8000: .word 0x020370B8


Como ya sabéis, estos datos en FR son dinámicos, por eso no se pueden cambiar con WBTO. Así que lo que hace la rutina es localizar los datos en la ram y modificar el byte que corresponde al sexo elegido.

La rutina la debéis compilar en un offset que termine en 0, 4, 8 o C y se utiliza así:

(...)
setvar 0x8000 0x(sexo)
callasm 0x(offset de la rutina + 1)
(...)


En la variable 0x8000 tenemos que poner 0x0 (chico) o 0x1 (chica).

Aquí tenéis la rutina compilada lista para insertar en el rom:

03 B5 03 48 01 68 00 20 02 48 00 78 08 72 03 BD 0C 50 00 03 B8 70 03 02