[FR] Animar la Portada Al Estilo Liquid Crystal

Avisos

Like Tree24Gracias
Respuesta
 
Herramientas Desplegado
  #1  
25/03/2017
Gráficas [FR] Animar la Portada Al Estilo Liquid Crystal
Buenos días WaH!!
Hace 3 días me entro la curiosidad de animar una portada al puro estilo Liquid Crystal, pues bien, después de joder la rom varias veces al fin lo he conseguido y por supuesto no les voy a decir voy a compartirlo con ustedes por que los hamo (?), bien, comencemos:


===============
Herramientas
===============
  • HxD
  • FSF
  • Unlz-GBA
  • NTME
  • Charater Maker Pro
  • Tu imagen con sus respectivos frames (todas deben ser del mismo tamaño y tener la misma paleta).
  • Advance Palette Editor
  • Compilador ASM
  • 2 Neuronas


Antes que nada quiero decir que este tuto lo hice lo mas explicado posible para que sea mejor entendible (pensando en los nuevos).


Paso 1: Alistar la Imagen

Primero preparamos las imágenes que insertaremos (deben medir lo mismo), yo usare estas:

Abrimos CMP y las indexamos a 16 colores (15 + Trasparencia), nos aseguramos que todas compartan el mismo orden en las paletas, guardamos las paletas, luego abrimos NTME y hacemos el tileset como muestra la imagen (ojo, todas las imagenes compartiran el mismo tileset por lo que hay que tener cuidado):


Nota: Todo el tilemap debe estar cubierto con la Pal D (14), no cubrirlo dañará la imagen ingame.

Paso 2: Insertar Imagen y la Raw

(Si usas NSE o ya sabes hacer esto ve al paso 3) Abrimos Unlz-GBA, cargamos nuestra rom y le damos al botón "Import", cargamos nuestra imagen (el primer frame) y con FSF buscamos un espacio vació, lo copiamos, clickeamos a "Write to Rom", pegamos nuestro offset vació en "Image Offset" y desmarcamos las siguientes casillas como muestra la imagen:

Guardamos y repetimos con las demás imágenes (no olvides apuntar los offsets donde las insertaste), luego vamos a la direccion 2016, le damos a File/Load Raw... y cargamos nuestra Raw, marcamos la casilla de "Automatically Fix Pointers" y guardamos.

Paso 3: Armar la Tabla de Secuencia

Ahora sigue lo bueno, abrimos un bloc de notas y ponemos nuestras offsets a la mano, después seguimos esta plantilla para armar la Tabla:
Código:
word:   Puntero de la Imagen
byte:   Tiempo de Pausa
byte:   Siguiente Frame
hword:  Buffer
Por cada frame se pone esto (si son 3, completar 3 veces), puedes poner hasta 255 frames:
(Imagen)(Tiempo de Pausa 03)(Siguiente Imagen [Ejem. 00, 01, 02, etc])(Se pone FF FF])
Mis offsets son "BA0000 BA044C BA08AC BA0D48" entonces esto queda asi:

Luego abrimos HxD y nos vamos a un offset vacio, ponemos nuestra tabla con Cntrl+B y guardamos.

Paso 4: Hacerla funcionar mediante ASM

Para esto necesitaremos esta rutina:
Código:
.thumb
Start:
        push {r0-r3}
        ldr r3, .RAM_Address
        ldr r1, .Ani_Table
        ldrb r2, [r3, #0x1]
        lsl r2, #0x3
        add r1, r2
        ldrb r0, [r1, #0x4]
        ldrb r2, [r3]
        cmp r2, r0
        bge LoadFrame
        add r2, #0x1
        strb r2, [r3]
        b Finish
LoadFrame:
        mov r2, #0x0
        strb r2, [r3]
        ldrb r2, [r1, #0x5]
        strb r2, [r3, #0x1]
        ldr r0, [r1]
        ldr r1, .VRAM_Animated_Image
        swi #0x12

Finish:
        pop {r0-r3}
ExitRightNow:
        ldr r1, [r0]
        ldr r0, .Frame_Count
        push {r3}
        ldr r3, .Old_Routine
        bx r3

.align 2
.Ani_Table:
        .word 0x08YYYYYY @Poner aquí el offset de tu tabla de secuencia
.RAM_Address:
        .word 0x020370c0
.VRAM_Animated_Image:
        .word 0x06004000
.Frame_Count:
        .word 0x0000FFFF
.Old_Routine:
        .word 0x08078C01
Compilamos y en HxD vamos a un espacio vació y pegamos la rutina compilada, luego vamos a la dirección 0x78C1C y ponemos el offset permutado de mi rutina +1 (yo la puse en 7A0000 por lo que queda "01 00 7A 08"), después vamos a la dirección 0x78BFC y cambiamos los bytes "00 23 C1 5E 06 48" por estos "07 49 08 47 08 BC"

Rutina Compilada

¡Aprende a compilar, Vago!

Paso 5: Paletas

Ahora abrimos APE y vamos al offset "EAD5E8", importamos la paleta de nuestra imagen y la guardamos:

Así les debe quedar (En Liquid Crystal se usaron mas de 5 imágenes):

~Créditos a Darthatron por la investigación y a karatekid552 por la rutina acortada, ambos de Pokecommunity~

Por cada "Gracias" salvamos a los Torchic del maltrato Pokémon...

Última edición por Ωmega; 08/03/2018 a las 09:13 Razón: Actualización 08/03/18
  #2  
26/03/2017
Predeterminado Respuesta: [FR] Animar la Portada de Fire Red
¡Vaya pedazo de tutorial! Es una maldita pasada muchísimas gracias por traerlo, me va a ser muy útil (y a todos).
P.D: No se si soy yo pero las imágenes no se ven.

Pokémon Memories


  #3  
26/03/2017
Predeterminado Respuesta: [FR] Animar la Portada de Fire Red
Dicho por ~Ventus Ver mensaje
¡Vaya pedazo de tutorial! Es una maldita pasada muchísimas gracias por traerlo, me va a ser muy útil (y a todos).
P.D: No se si soy yo pero las imágenes no se ven.
Accidentalmente presione el botón "Enviar Tema" y lo postee a la mitad del tuto, lo hice tan rápido que ahora estoy corrigiendo cosas, espera algunos minutos a ver si ya se ven las imágenes

Edito: Todo arreglado, cualquier cosa avísenme
Gracias: Axel

Última edición por Ωmega; 16/07/2017 a las 21:32
  #4  
26/03/2017
Predeterminado Respuesta: [FR] Animar la Portada de Fire Red
Wow! Tremendo aporte te has lanzado @Ωmega . Estoy seguro de que a muchos le interesará lo que has logrado (incluyéndome) y que tambien podría dársele otras funciones

Saludos y espero nos sigas trayendo esos excelentes aportes.



PD: Siguen faltando imágenes como por ejemplo las del paso 1 y la de armar la tabla de secuencia, la imágen final contiene errores no se si es del gif o es el resultado real en la ROM. Unas cuantas dudas: ¿Cuales son las dimensiones (máximas y mímimas) de los frames a insertar? (aunque deduzco que si se usa una RAW puede ser del tamaño total de la pantalla 160x240), ¿Se pueden usar variables para controlar varias animaciones? y finalmente (ya se que es mucho) ¿Puede pausarse la animación en el último frame?



Última edición por CompuMax; 26/03/2017 a las 01:57
  #5  
26/03/2017
Gráficas Respuesta: [FR] Animar la Portada de Fire Red
Dicho por CompuMax Ver mensaje
PD: Siguen faltando imágenes como por ejemplo las del paso 1 y la de armar la tabla de secuencia, la imágen final contiene errores no se si es del gif o es el resultado real en la ROM. Unas cuantas dudas: ¿Cuales son las dimensiones (máximas y mímimas) de los frames a insertar? (aunque deduzco que si se usa una RAW puede ser del tamaño total de la pantalla 160x240), ¿Se pueden usar variables para controlar varias animaciones? y finalmente (ya se que es mucho) ¿Puede pausarse la animación en el último frame?
1) Yo puedo ver las imagenes, en todo caso estan en mi galeria...
2) La imagen del gif contiene fallos debido a la precipitada forma de conversión, si hay un fallo mio que cubre a la portada de rayas xD
3) El tamaño maximo es de toda la pantalla (pero sigo probando) y el minimo es de 8x8 pixeles (desconozco el porque).
4) Ja! Tambien se me ocurrio, por el momento no (a mi no me sale).
5) Creo que no se puede pausar, a lo mejor se podria jugando un poco con la tabla de secuencias...

Espero haberte ayudado bro, saludos
Gracias: N master y CompuMax
  #6  
26/03/2017
Predeterminado Re: [FR] Animar la Portada de Fire Red
Aportazo!! Sin duda.
Esta super bien explicado, tiene imagenes, sin duda exquisito!! Que mal que haya noobs que nisiquiera saben poner una portada y no van a entender una mierda esto que mucha gente no valore este tipo de tutos y pasen de largo.
Saludos!
Gracias: Ωmega
  #7  
26/03/2017
Predeterminado Re: [FR] Animar la Portada de Fire Red
Madre mia.... Que pedaso de tutorial... Increible, un gran aporte, ademas un punto a destacar es lo bien explicado que esta... ahora solo queda intentarlo
Vuelen Alto
  #8  
26/03/2017
Predeterminado Respuesta: [FR] Animar la Portada de Fire Red
Gran investigación y tutorial, sin duda. Ahora que me fijo en el tema, esto se podría llevar todavía más lejos. Hace bastante tiempo, LU-HO publicó una herramienta que permite agregar animaciones a los tiles. Sin embargo, como todo lo que publicó, la herramienta no es de código abierto y no existe otra manera conocida para agregar nuevas animaciones, ni un tutorial, ni una rutina. Ahora mismo, aquellos que cambiamos los .INI a las herramientas porque expandimos el rom, no podemos utilizar el programa y no tenemos ninguna opción o alternativa actual. Si lográramos hacer lo mismo con los tiles, al igual que con la portada, sería algo bestial.
Gracias: Ωmega
Existe un tipo de recurso que conlleva horas y numerosos ratos de preparar, ayuda a mucha gente y más de una vez hay que rebanarse la sesera para dejarlo elegante. Me estoy refiriendo a los Tutoriales y a la Resolución de Dudas. Recuerda que de no ser por esas personas, no hubieras llegado a semejante nivel, así que no lo olvides.

Los tutoriales y la resolución de dudas también son recursos.
Si te fueron útiles, menciona a sus colaboradores.
  #9  
26/03/2017
Predeterminado Respuesta: [FR] Animar la Portada de Fire Red
Muchas gracias por traer este pedazo de tutorial que mucha gente utilizara (me incluyo), has tenido que estar investigando un buen rato para conseguirlo y despues lo compartes, se necesita mas gente como tu en el foro
  #10  
04/04/2017
Predeterminado Respuesta: [FR] Animar la Portada de Fire Red
Esto está de PTM para aquellos que quieran su portada aún mas personalizada!

Recuerdo haber visto un post de esa rutina en pokeco, pero nunca se me pasó por la cabeza que había que usar ntme para la parte de la imagen y tal (ahora todo tiene lógica).

Buen aporte, +10!

♠Un saludo!♠
Lindos tiempos aquellos en que me gustaba petar la pizarra del foro. :'3




Fan de:

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 16:32.