Eaas
Profesional de WaH
Buenas q tal.
¿Alguna vez an querido q el fadescreen tenga efecto de fundido?
Buenos, los q han trabajado en Ruby sabrán q @eing hizo una rutina con este efecto en esa base.
A petición de un usuario quise editarla para FR y es lo q enseño hoy.
Primero necesitamos dos rutinas, una q haga q la pantalla se difumine en negro y otra para q vuelva a la normalidad.
Simplemente llaman las rutinas respectivamente.
Un usuario el cual. La probó en su juego uso un script sencillo. Pará probarla.
#dynamic 0x800000
#org @start
callasm 0xDARK+1
pause 0x50
callasm 0xLIGHT+1
end
Pueden probar y ver el resultado
Creditos
@eing
Por la rutina original aportada a PRHE.
¿Alguna vez an querido q el fadescreen tenga efecto de fundido?
Buenos, los q han trabajado en Ruby sabrán q @eing hizo una rutina con este efecto en esa base.
A petición de un usuario quise editarla para FR y es lo q enseño hoy.
Primero necesitamos dos rutinas, una q haga q la pantalla se difumine en negro y otra para q vuelva a la normalidad.
.align 2
.thumb
main:
push {r0-r3,lr}
ldr r0,.04000048
mov r1,#0x3f
strb r1,[r0,#0x0]
ldr r0,.lastresult
ldrh r0,[r0,#0x0]
cmp r0,#0x0
beq negro
ldr r1,.04000050
mov r2,#0xbf
strb r2,[r1,#0x0]
ldr r1,.04000054
mov r2,#0x0
b bucle
negro:
ldr r1,.04000050
mov r2,#0xfe
strb r2,[r1,#0x0]
ldr r1,.04000054
mov r2,#0x0
b bucle
bucle:
mov r0,#0x0
add r2,#0x1
strb r2,[r1,#0x0]
cmp r2,#0x1f
bge fin
ldr r3,.r3
b pause
pause:
cmp r0,r3
beq bucle
add r0,#0x1
b pause
fin:
pop {r0-r3,pc}
.align 2
.lastresult: .word 0x020370d0
.04000048: .word 0x04000048
.04000050: .word 0x04000050
.04000054: .word 0x04000054
.02024EB5: .word 0x02024EB5
.r3: .word 0x0000ffff
.thumb
main:
push {r0-r3,lr}
ldr r0,.04000048
mov r1,#0x3f
strb r1,[r0,#0x0]
ldr r0,.lastresult
ldrh r0,[r0,#0x0]
cmp r0,#0x0
beq negro
ldr r1,.04000050
mov r2,#0xbf
strb r2,[r1,#0x0]
ldr r1,.04000054
mov r2,#0x0
b bucle
negro:
ldr r1,.04000050
mov r2,#0xfe
strb r2,[r1,#0x0]
ldr r1,.04000054
mov r2,#0x0
b bucle
bucle:
mov r0,#0x0
add r2,#0x1
strb r2,[r1,#0x0]
cmp r2,#0x1f
bge fin
ldr r3,.r3
b pause
pause:
cmp r0,r3
beq bucle
add r0,#0x1
b pause
fin:
pop {r0-r3,pc}
.align 2
.lastresult: .word 0x020370d0
.04000048: .word 0x04000048
.04000050: .word 0x04000050
.04000054: .word 0x04000054
.02024EB5: .word 0x02024EB5
.r3: .word 0x0000ffff
.align 2
.thumb
main:
push {r0-r3,lr}
ldr r0,.04000054
mov r1,#0x1f
ldr r2,.r2
b bucle
bucle:
mov r3,#0x0
sub r1,#0x1
strb r1,[r0,#0x0]
cmp r1,#0x0
beq fin
b pause
pause:
cmp r3,r2
beq bucle
add r3,#0x1
b pause
fin:
pop {r0-r3,pc}
.align 2
.04000054: .word 0x04000054
.r2: .word 0x0000ffff
.thumb
main:
push {r0-r3,lr}
ldr r0,.04000054
mov r1,#0x1f
ldr r2,.r2
b bucle
bucle:
mov r3,#0x0
sub r1,#0x1
strb r1,[r0,#0x0]
cmp r1,#0x0
beq fin
b pause
pause:
cmp r3,r2
beq bucle
add r3,#0x1
b pause
fin:
pop {r0-r3,pc}
.align 2
.04000054: .word 0x04000054
.r2: .word 0x0000ffff
Simplemente llaman las rutinas respectivamente.
Un usuario el cual. La probó en su juego uso un script sencillo. Pará probarla.
#dynamic 0x800000
#org @start
callasm 0xDARK+1
pause 0x50
callasm 0xLIGHT+1
end
Pueden probar y ver el resultado
Creditos
@eing
Por la rutina original aportada a PRHE.
Última edición: