L!no
GBA Developer
como el titulo lo indica,les voy a enseñar como cambiar el mini del prota DENTRO del juego sin recurrir a los jodidisimos WBTO
creditos a FBI por la magnifica rutina.
---------------------
que necesitamos?
---------------------
HxD
thumb
una rom de fire red
------------------
como se hace?
------------------
asi.
primero compilamos e insertamos esta rutina en un espacio libre.
como los amo a todos,les dejo la rutina ya compilada.
es muy importante que anoten donde la insertaron
ahora hagamos un pointer de tipo +1
una vez hecho el pointer,escribanlo en algun lado
ahora vayan al offset 5CA4C con ctrl+G y pegen esto con ctrl+B :
00 48 00 47 XX XX XX 08
donde XX XX XX es el pointer de clase +1 que creamos hace poco.
-------------------------------------
pero,¿como hago que funcione?
-------------------------------------
facil:
1)usa el setflag 0x406.esto es asi para que puedas usar la variable 0x8000 tranquilamente sin cambiar el mini del prota
2)asignar alguno de estos valores a la variable 0x8000:
---------------------------------------------------
pero yo todavia no entiendo como se usa!!!
---------------------------------------------------
es simple.pones esto en un script:
creditos a FBI por la magnifica rutina.
---------------------
que necesitamos?
---------------------
HxD
thumb
una rom de fire red
------------------
como se hace?
------------------
asi.
primero compilamos e insertamos esta rutina en un espacio libre.
.text
.align 2
.thumb
.thumb_func
@hook from 0805CA4C via r0
main:
@flag check
checkFlag:
mov r0, #0xFF
lsl r0, r0, #0x2
add r0, r0, #0xA @0x3FC + 0xA = @406
ldr r2, =(0x806E6D0 +1)
push {r1, r3}
bl linker
pop {r1, r3}
cmp r0, #0x1
bne noCrash
setOW:
ldr r0, =(0x20370B8)
ldrb r0, [r0]
cmp r0, #0xFF
beq noCrash
mov r3, r0
noCrash:
mov r8, r3
lsl r4, r4, #0x10
lsr r4, r4, #0x10
lsl r5, r5, #0x10
ldr r0, =(0x805CA54 +1)
bx r0
linker:
bx r2
.align 2
.align 2
.thumb
.thumb_func
@hook from 0805CA4C via r0
main:
@flag check
checkFlag:
mov r0, #0xFF
lsl r0, r0, #0x2
add r0, r0, #0xA @0x3FC + 0xA = @406
ldr r2, =(0x806E6D0 +1)
push {r1, r3}
bl linker
pop {r1, r3}
cmp r0, #0x1
bne noCrash
setOW:
ldr r0, =(0x20370B8)
ldrb r0, [r0]
cmp r0, #0xFF
beq noCrash
mov r3, r0
noCrash:
mov r8, r3
lsl r4, r4, #0x10
lsr r4, r4, #0x10
lsl r5, r5, #0x10
ldr r0, =(0x805CA54 +1)
bx r0
linker:
bx r2
.align 2
como los amo a todos,les dejo la rutina ya compilada.
FF 20 80 00 0A 30 09 4A 0A B4 00 F0 0E F8 0A BC 01 28 04 D1 06 48 00 78 FF 28 00 D0 03 1C 98 46 24 04 24 0C 2D 04 03 48 00 47 10 47 D1 E6 06 08 B8 70 03 02 55 CA 05 08
ahora hagamos un pointer de tipo +1
como hacer un pointer de clase +1
una vez hecho el pointer,escribanlo en algun lado
ahora vayan al offset 5CA4C con ctrl+G y pegen esto con ctrl+B :
00 48 00 47 XX XX XX 08
donde XX XX XX es el pointer de clase +1 que creamos hace poco.
-------------------------------------
pero,¿como hago que funcione?
-------------------------------------
facil:
1)usa el setflag 0x406.esto es asi para que puedas usar la variable 0x8000 tranquilamente sin cambiar el mini del prota
2)asignar alguno de estos valores a la variable 0x8000:
0 - héroe masculino
1 - héroe femenino
3 - héroe femenino en bici
4 - héroe masculino corriendo
5 - héroe femenino
6 - héroe masculino vs-seeker
7 - héroe femenino vs-seeker
8 - héroe masculino de pesca
9 - héroe héroe de pesca
12 - Bruno
13 - Aura
28 - Individuo aleatorio
29 - Niño pequeño
48 - Spearow
52 - Anciano 1
83 - Tipo rubio
84 - Chico gordo
88 - Anciano 2
93 - team rocket macho
104 - Meowth
112 - Chansey
116 - Slowbro
124 - Snorlax
125 - Pescador
170 - Anciano 3
176 - Chica verde
213 - Señora de vestido rojo
214 - Señora mayor
228 - Deoxys (creo que éste es normal)
245 - Misty
251 - Chica Fantasma
1 - héroe femenino
3 - héroe femenino en bici
4 - héroe masculino corriendo
5 - héroe femenino
6 - héroe masculino vs-seeker
7 - héroe femenino vs-seeker
8 - héroe masculino de pesca
9 - héroe héroe de pesca
12 - Bruno
13 - Aura
28 - Individuo aleatorio
29 - Niño pequeño
48 - Spearow
52 - Anciano 1
83 - Tipo rubio
84 - Chico gordo
88 - Anciano 2
93 - team rocket macho
104 - Meowth
112 - Chansey
116 - Slowbro
124 - Snorlax
125 - Pescador
170 - Anciano 3
176 - Chica verde
213 - Señora de vestido rojo
214 - Señora mayor
228 - Deoxys (creo que éste es normal)
245 - Misty
251 - Chica Fantasma
---------------------------------------------------
pero yo todavia no entiendo como se usa!!!
---------------------------------------------------
es simple.pones esto en un script:
y para volver todo a la normalidad:Código:setflag 0x406 addvar 0x8000 0x(el numero del mini segun la lista de mas arriba) callasm 0x805BE61
Código:clearflag 0x406 callasm 0x805BE61
Última edición: