Registrarse

[Otros] FR, R | Animar sprites pokemon

NozZ C

Usuario mítico
Basado en el tutorial de pokeco:
https://www.pokecommunity.com/showthread.php?t=223078

Hola amigos el dia de hoy les traigo un tutorial de como animar los pokemones del Fire Red y los del ruby para hacer esto vamos a necesitar las siguientes herramientas:
.

  • Tu Rom a editar
  • unLZ.GBA
  • Advanced Series
  • HxD

Aclaracion: este tutorial lo hago por que el anterior estaba por asi decirlo mal hecho o explicado.

Lo primero necesitaremos abrir nuestra rom en el HxD La Abrimos y dependiendo de la rom tendremos que ir a los siguientes offsets:

Fire Red:2349BC
Ruby:1E7C64
Pd: para ser el post mas entendible, segun cual de los dos puntero ocupen le diremos primer offset, Ok?

(notese lo novato) Ahora haremos por asi decirlo repuntear hacia otro offset para esto buscaremos un offset FF en la rom en mi caso he escogido este:


00 84 67 00
84 67 00 (le saque el 00 delantero ya que no nos vale, hagan lo mismo)
En el espacio vacio (FF) tendremos que pegar este codigo para que cargue los 2 frames

00 00 0F 00
01 00 0F 00
00 00 0F 00
01 00 0F 00
00 00 0F 00
FF FF 00 00
Nos devolvemos al primer offset y permutaremos el offset escogido en donde se encuentra la tabla a la misma vez que le agregamos como ultimo digito un 08 al final:


Offset en donde pegue la tabla (El escogido): 84 67 00
Offset permutado en donde se encuentra la tabla + 08: 00 67 84 08 (@LAISHU gracias no me fije)
Bueno ahora en el primer offset pegamos el permutado con Ctrl+B para remplazar, ahora necesitaremos insertar el pokemon para eso en el unlz iremos a la direccion de algun pokemon en mi caso balbusaur que es la 668 y de ahi en adelante parten los pokemons.



Este pokemon lo remplazaremos con una imagen en blanco de 128x64 para eso le damos al boton import y seleccionamos la imagen (la imagen debe de estar indexeada a 16 colores) quedaria tal que asi:



Ahora nos vamos al advanced series y seleccionamos nuestro sprite como veran les saldra ahora que tiene dos frames (para conseguir el frame de la animacion tendras que sacarlo de el esmeralda) le damos edit y a import all seleccionamos el sprite normal primero, una vez seleccionado en frames ponemos el 2 y insertamos el segundo frame (en el segundo denle a import normal no a import all).

Primer Frame(a este hay que darle import all):



Segundo Frame (a este import normal):


Edit: En el Frame 2 si no lo vas a cambiar tienes que agregar un back normal o sino en batalla te desaparecera por segundo.

Como pueden ver este tiene una parte negra esa el donde hiria el back pero no se suele usar y por ultimo hago el llamado a @Cheverus Snapeo alguien que sepa como explicarnos esta parte en la que explica mas o menos la estructura para agregar mas frames.




EDIT: Dicho por @CompuMax

Finalmente la explicación de la estructura de la tabla de animación es muy sencilla:
Cada instrucción consta de 4 bytes: AA BB CC DD
El primer byte AA: indica el número del frame
El segundo byte BB: no hace nada (00)
El tercer byte CC: indica cuán larga es la imágen mostrada (0F)
El cuarto byte DD: no hace nada (00)
Finalmente se debe agregar la secuencia FF FF 00 00 para indicar el fin de la animación. Como ejemplo paso a explicar la animación que has usado en el tutorial:

00 00 0F 00 - Carga el primer frame
01 00 0F 00 - Carga el segundo frame
00 00 0F 00 - Carga el primer frame
01 00 0F 00 - Carga el segundo frame
00 00 0F 00 - Finalmente carga y mantiene el primer frame
FF FF 00 00 - Fin de la animación

Finalmente a los que han preguntado si se pueden animar los sprites de los entrenadores... Sí, y el método es el mismo explicado en este tutorial.
Nos vemos

Resultado:
 
Última edición por un moderador:

Dionen

El Emperador Pálido
Respuesta: [FR y R] Animar sprites pokemon

Parece bueno, pero estoy bastante seguro de que algo va a pasar con el backsprite en batalla
 

Gold

Porrero a tiempo parcial
Miembro insignia
Respuesta: [FR y R] Animar sprites pokemon

Gracias por el tuto, mas tengo enterado que en esta rutina hay un errorcillo que no sé si lo han arreglado, mas ahora mismo no recuerdo bien sobre qué iba, pero igual, tome sus +gracias
 

Bugrhak

A long time ago I used to call myself "Subzero".
Respuesta: [FR y R] Animar sprites pokemon

Bonico aporte te has tirado jeje
Creo que deberías mejorqr la parte de las explicaciones en el tutos, psra algunos no les vendría nada mal una breve ilustración de lo que hay que editar hexadecimalmente.
Creo que es posible darle uso a esto no solo para animar los sprite de los pokemon di no también los de los entrenadores tal y como lo ha hecho @Dionen en su Hack C:
Buen aporte, y gracias por traer una versión mas "estilizada" del ya existente.

Saludos :3​
 
Última edición:

Skyflyer

Creador de Pokémon Zenit
¿Se sabe si hay alguna posibilidad de animar también los sprites de los entrenadores?
 

CompuMax

Discord: CompuMax#0425
Miembro insignia
Respuesta: [FR y R] Animar sprites pokemon


... por ultimo hago el llamado a @Cheverus Snape o alguien que sepa como explicarnos esta parte en la que explica mas o menos la estructura para agregar mas frames.



Primeramente muchas gracias por traer el tutorial al foro, ya lo había visto, pero se agradece el aporte.

Como ya te mencionó Dionen, el insertar cuadros negros en el segundo frame del back te traerá problemas (desaparecerá el pokémon por un instante debido a la ausencia del segundo frame), se soluciona insertando el mismo primer frame o insertando otro frame que le dé movimiento, la primera opción sería lo más vaible.

Finalmente la explicación de la estructura de la tabla de animación es muy sencilla:
Cada instrucción consta de 4 bytes: AA BB CC DD
El primer byte AA: indica el número del frame
El segundo byte BB: no hace nada (00)
El tercer byte CC: indica cuán larga es la imágen mostrada (0F)
El cuarto byte DD: no hace nada (00)
Finalmente se debe agregar la secuencia FF FF 00 00 para indicar el fin de la animación. Como ejemplo paso a explicar la animación que has usado en el tutorial:

00 00 0F 00 - Carga el primer frame
01 00 0F 00 - Carga el segundo frame
00 00 0F 00 - Carga el primer frame
01 00 0F 00 - Carga el segundo frame
00 00 0F 00 - Finalmente carga y mantiene el primer frame
FF FF 00 00 - Fin de la animación

Finalmente a los que han preguntado si se pueden animar los sprites de los entrenadores... Sí, y el método es el mismo explicado en este tutorial.

Saludos!

Max.
 

NozZ C

Usuario mítico
Respuesta: [FR y R] Animar sprites pokemon

Primeramente muchas gracias por traer el tutorial al foro, ya lo había visto, pero se agradece el aporte.

Como ya te mencionó Dionen, el insertar cuadros negros en el segundo frame del back te traerá problemas (desaparecerá el pokémon por un instante debido a la ausencia del segundo frame), se soluciona insertando el mismo primer frame o insertando otro frame que le dé movimiento, la primera opción sería lo más vaible.

Finalmente la explicación de la estructura de la tabla de animación es muy sencilla:
Cada instrucción consta de 4 bytes: AA BB CC DD
El primer byte AA: indica el número del frame
El segundo byte BB: no hace nada (00)
El tercer byte CC: indica cuán larga es la imágen mostrada (0F)
El cuarto byte DD: no hace nada (00)
Finalmente se debe agregar la secuencia FF FF 00 00 para indicar el fin de la animación. Como ejemplo paso a explicar la animación que has usado en el tutorial:

00 00 0F 00 - Carga el primer frame
01 00 0F 00 - Carga el segundo frame
00 00 0F 00 - Carga el primer frame
01 00 0F 00 - Carga el segundo frame
00 00 0F 00 - Finalmente carga y mantiene el primer frame
FF FF 00 00 - Fin de la animación

Finalmente a los que han preguntado si se pueden animar los sprites de los entrenadores... Sí, y el método es el mismo explicado en este tutorial.

Saludos!

Max.

OH Gracias, Lo agregare al final de post solo para hacerlo mas completo.
 

!hackito

¡Pikachu-Ash!
Respuesta: [FR y R] Animar sprites pokemon

Tengo una pregunta ¿En donde tengo que pegar el código para cargar los frames?¿en el 2349BC o en el 846700?
 

NozZ C

Usuario mítico
Respuesta: [FR y R] Animar sprites pokemon

Tengo una pregunta ¿En donde tengo que pegar el código para cargar los frames?¿en el 2349BC o en el 846700?
Te explico... el offset 846700 es el lugar vacio donde pegue la tabla de animaciones (solo debes buscar espacio en la rom para pegar la tabla)

2349BC es la direccion donde pegaras el offset 846700 permutado por lo tanto queda asi 00678408 este offset como explico arriba es el que contiene la tabla.
 

!hackito

¡Pikachu-Ash!
Respuesta: [FR y R] Animar sprites pokemon

Tengo otro problema, cuando abro el unlz gba después de modificar con HxD y voy al sprite del pokemon no lo lee.
 

NozZ C

Usuario mítico
Respuesta: [FR y R] Animar sprites pokemon

Tengo otro problema, cuando abro el unlz gba después de modificar con HxD y voy al sprite del pokemon no lo lee.
Asegúrate de haber hecho todo correctamente, también que el pokemon este idexeado.
 
Se puede usar mas sprites? como ejemplo si quiero que charmander gruña pero sus sprites son de 4 puede ponerselas? y si es asi como?

Otra pregunta se puede hacer la animacion infinita osea que siempre se mueva o se quedaria bugeado y no podrias hacer nada?
 

NozZ C

Usuario mítico
Respuesta: Re: [FR y R] Animar sprites pokemon

Se puede usar mas sprites? como ejemplo si quiero que charmander gruña pero sus sprites son de 4 puede ponerselas? y si es asi como?

Otra pregunta se puede hacer la animacion infinita osea que siempre se mueva o se quedaria bugeado y no podrias hacer nada?
00 00 0F 00 - Carga el primer frame
01 00 0F 00 - Carga el segundo frame
00 00 0F 00 - Carga el primer frame
01 00 0F 00 - Carga el segundo frame
00 00 0F 00 - Finalmente carga y mantiene el primer frame
FF FF 00 00 - Fin de la animación

Como puedes ver en esta estructura puedes agregar cuantos frames nuevos quieras

tambien lo del loop puedes agregar esto para que lo haga infinitamente EF FF 00 00
 
Arriba