FR|ASM|Vs bar personalizable

Avisos

Like Tree9Gracias
  • 8 Post By Invert
  • 1 Post By Naren Jr.

Respuesta
 
Herramientas Desplegado
  #1  
04/10/2016
Predeterminado FR|ASM|Vs bar personalizable

Vs bar persolnalizable
¡Qué pasa gente!
Jugando varias ediciones de pokémon en DS me gustó la manera en cómo se cargan las vs bar, por eso decidí hacer una rutina que decido al final compartirla.

PASO 1

Lo primero de todo es insertar esta rutina:
Código:
.thumb
.align 2

push {r4-r6, lr}

Image:
ldr r0, =0x000040F2 @var_40F2
ldr r4, =0x0806E455 @Decrypt
bl call_r4
ldrb r0, [r0]
ldr r1, =0x08900000 @Table_images
lsl r2, r0, #0x3  
lsl r0, r0, #0x2  
add r0, r0, r2  
add r1, r1, r0
mov r6, r1
ldr r1, [r1]
mov r0, #0
mov r2, #0
mov r3, #0
ldr r4, =0x080F6879 @decompress_with_fallback_maybe
bl call_r4

PAL:
add r6,#4
mov r0, r6 @Pal
ldr r0, [r0]
mov r1, #0XD0
mov r2, #0X20
ldr r4, =0x080703Ed @gpu_pal_apply
bl call_r4
mov r0, r6
ldr r0, [r0]
ldr r4, =0x08008929 @gpu_pal_obj_alloc_tag_and_apply
bl call_r4

RAW:
add r6,#4
mov r1, r6 @Raw
ldr r1, [r1]
mov r0, #0
mov r2, #0
mov r3, #0
ldr r4, =0x08002041 @gpu_tilemap_config_and_commit
bl call_r4
mov r0, #0x0
ldr r4, =0x080020BD @bgid_send_tilemap
bl call_r4
mov r0, r6 @Raw
ldr r0, [r0]
ldr r4, =0X080086DD @gpu_tile_obj_alloc_tag_and_upload
bl call_r4


showBG:
mov r0, #0x0
ldr r4, =0x80019BD
bl call_r4
pop {r4-r6, pc}

call_r4: bx r4

Cambiar la direccion de la tabla.
0x08900000 @Table_images


PASO 2


Lo segundo será insertar la imagen,raw y paleta.
Para eso necesitaremos estas herramientas:
  • NTME
  • NLZ-GBA Advance
  • APE

Primero, necesitas una imagen 256x160 de tamaño indexada, yo usaré esta:
La imagen debe estar en formato BMP



Ahora abrimos el NTME y creamos nuestra raw (será más fácil si se usan las flecas + del width y height.
Otra cosa que deben marcar es abajo donde pone "preset size" marcan la opción FR/LG TS.


Al final cuando tengamos la raw completa abajo, le damos a la opción "Palette Map" y rellenamos toda la imagen con la paleta D.



Cuando tengamos eso guardamos la raw: file-Save tilemap.

PASO 3

Ahora necesitaremos insertar todo, y usaremos la herramienta "NLZ-GBA Advance".
Abrimos la Rom, nos parecerá un cuadro en el que ponen accept.
Ahora, clickeas donde pone "import a bitmap" y abres tu imagen (archivo BMP). Les aparecerá un cuadro donde pondrás el offset donde será guardada tu imagen y más abajo solo señalarás la opción "Abort if new daa is bigger" le das ok y luego "Write to rom", si salió todo bien tuvo que haber salido un mensaje que ponía "Finished".
Para insertar la Raw le das en load Raw, y eliges tu raw (para que salga debes elegir el tipo all files). Nuevamente eliges tu offset y por último "Write to ROM"
Y luego insertas tu paleta con APE, no creo que sea necesario explicarlo xD.

PASO 4

Cuando tengas todo tus datos, debes armar la tabla de la siguiente forma:
(Imagen-paleta-raw)
xx xx xx 08 xx xx xx 08 xx xx xx 08
Cada entrada tiene un tamaño de 0xC.

Ahora pasamos a la parte de como usar la rutina.
La rutina sola lo único que hace es cargar la imagen usando este fragmento:
Código:
setvar 0x40F2 0x (Entrada de tu tabla)
callasm 0x (Offset de tu rutina +1)
Pero para hacer que se mueva necesitamos manipular los efectos de pantalla, aqui les dejo un script:

Código:
#org @loop
compare 0x8003 0x70
if 0x1 goto @Batalla
copybyte 0x4000010 0x20370C2
pause 0x1
addvar 0x8005 0x10
addvar 0x8003 0x1
goto @loop
Ese es el fragmento que moverá la imagen, ¿como sería todo?

Código:
#org @inicio
setvar 0x40F2 0x (Entrada de tu tabla)
callasm 0x (Offset de tu rutina +1)
goto @loop

#org @loop
compare 0x8003 0x70
if 0x1 goto @Batalla @Cuando termine el loop va a la batalla)
copybyte 0x4000010 0x20370C2
pause 0x1
addvar 0x8005 0x10
addvar 0x8003 0x1
goto @loop

#org @Batalla
trainerbattle 0x3 0x5 0x0 @texto
.....
Lo más recomendable es usar el trainerbattle tipo 3 para esto.
Para insertar los sprites puedes usar varios showpokepics y ponerlos antes de el @loop.

Código:
#org @inicio
setvar 0x40F2 0x (Entrada de tu tabla)
callasm 0x (Offset de tu rutina +1)
showpokepic 0x1 0x1 0x1
showpokepic 0x2 0xF 0x1
goto @loop

#org @loop
compare 0x8003 0x70
if 0x1 goto @Batalla @Cuando termine el loop va a la batalla)
copybyte 0x4000010 0x20370C2
pause 0x1
addvar 0x8005 0x10
addvar 0x8003 0x1
goto @loop

#org @Batalla
trainerbattle 0x3 0x5 0x0 @texto
.....
Para poner varios y quitarles la caja aquí te dejo un tutorial hecho por @jiangzhengwenjz que además me permitió sus datos para acabar mi rutina.Y bien, ese es básicamente el proceso a seguir, si tienen dudas o errores me los dejan saber.

Última edición por Invert; 04/10/2016 a las 21:30
  #2  
04/10/2016
Predeterminado Respuesta: FR|ASM|Vs bar persolnalizable
Excelente aporte!

Muy bien explicado, con imágenes de apoyo y demasiado sencillo como para no aplicarlo.

jejeje

Muchas gracias. Se agradece.

  #3  
04/10/2016
Predeterminado Re: FR|ASM|Vs bar persolnalizable
It's a good tutorial, but I really want to know who told you the location of the graphic functions lol. Nice done.
  #4  
14/10/2016
Predeterminado Respuesta: FR|ASM|Vs bar personalizable
WOW, Pero que pocos comentarios tiene esto, por dios

Esta rutina me viene magnífica en mi "jak", el solo hecho de que sea personalizable me hace querer probarla yá!!!

"Kiero" eso en mi hack para ayer, así que empezaré a trabajar :V
APORTAZO COLEGA ^^

Salu2
  #5  
17/10/2016
Predeterminado Respuesta: FR|ASM|Vs bar personalizable
Puto amo, yo ya la había visto, es genial que la liberaras ya bro.

Un saludo, y que la gente aproveche estas rutinas que realmente le dan un gran toque al hack.
¡EL MEJOR PREMIO DEL 2016!



¡GRACIAS A TODOS!

  #6  
17/10/2016
Predeterminado Respuesta: FR|ASM|Vs bar personalizable
Vaya tutorial más chulo!
Se me había olvidado comentarlo, Sin duda lo usaré para crear algo ultra genial en mi hackrom. ¡Muchisimas gracias por el aprote!

Como ya te dijeron por ahí, eres un Puto amo.
Sigue así!

Buenas vibras!!
  #7  
18/10/2016
Predeterminado Respuesta: FR|ASM|Vs bar personalizable
baia baia...

¡Que bonito! Ya me pongo a probarlo y meto scan a ver que tal vá.

Retirado del RomHacking




Skype: scriptercheve
Twitter: The Moon Lover



"Cuando oigas a un niño preguntar
Por qué el sol viene y se va
Dile: porque en esta vida no hay
Luz sin oscuridad"


  #8  
23/10/2016
Predeterminado Re: FR|ASM|Vs bar personalizable
Saludos amigo

Te escribo para ver si me puedes ayudar a resolver un pequeño inconveniente que tengo al correr tu rutina ASM. Y es que luego de llamar la rutina, llamo los mugshots que saldrán a enfrentarse y siempre el primer mughshot que llame termina distorcionándose.

Lo que hice fue obviamente insertar la rutina, insertar los mugshot en los espacios vacíos de pokémon, les eliminé la caja (Gracias a @jiangzhengwenjz ) y los llamo con showpokepic.

He hecho muchas pruebas, desde quitar la animación, reducir los numeros de mughsots, hacer fadescreen antes de llamar la rutina y nada. Creo que es un problema en las variables o quizás en el ASM en concreto (pero no sé ASM así que no he modificado nada).

Te agradecería mucho si logras ayudarme.

Aquí te dejo el enlace para que veas el inconveniente en video.

https://www.youtube.com/watch?v=vOZA...ature=youtu.be
Respuesta

Herramientas
Desplegado

Permisos para publicar mensajes
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los BB code están Activado
Los Emoticones están Activado
El código [IMG] está Activado
El Código HTML está Desactivado
Trackbacks are Activado
Pingbacks are Activado
Refbacks are Desactivado



Extra
Estilo clásico
La franja horaria es GMT +1. Ahora son las 19:31.