FR-ASM-Expansión BG e imágenes de entrada

Avisos


Like Tree13Gracias
  • 8 Post By hacanoca
  • 1 Post By Naren Jr.
  • 2 Post By Ωmega
  • 2 Post By CompuMax
Respuesta
 
Herramientas Desplegado
  #1  
25/11/2018
Predeterminado FR-ASM-Expansión BG e imágenes de entrada
Hola a todos.

Este tutorial es un complemento al realizado por Gooby/Ruki/Gold, el cual se encuentra en este link https://whackahack.com/foro/t-29409/...fondos-batalla.

En ese tutorial nos indicaron como aplicar el parche para la expansión y personalización de los fondos de batalla, y como usarlo dentro del juego.

También nos dejaron la rutina no compilada para quienes quisiéramos insertar la rutina en otro sitio (ya que viene por defecto en el offset F00000, muy usado por el parche de paletas dinámicas).

Este tutorial busca enseñar como aplicar esta rutina sin aplicar el parche, es para todos aquellos a quienes el ASM nos cuesta mucho.

Antes que nada, quiero dar mis agradecimientos y el crédito a @CompuMax, ya que fue él quien me ayudó a insertar la rutina acorde a mis necesidades, y quien me enseñó y ayudó con todo el tema de las paletas de las imágenes de entrada.

Pues bien, la rutina compilada es la siguiente:

Rutina

06 4D 20 B4 02 B4 06 49 08 47 00 29 00 D0 08 1C 02 BC 04 4D 84 00 24 18 28 47 00 00 WW WW WW ZZ XX XX XX ZZ 71 F2 00 08 FF FF FF FF FF FF FF FF 06 4D 20 B4 02 B4 06 49 08 47 00 29 00 D0 08 1C 02 BC 04 4D 84 00 24 18 28 47 00 00 WW WW WW ZZ YY YY YY ZZ BD F2 00 08 FF FF FF FF FF FF FF FF 05 B4 05 48 00 F0 06 F8 00 88 01 1C 05 BC C0 46 FF F7 CB FF 01 4A 10 47 E8 40 00 00 55 E4 06 08 05 B4 05 48 00 F0 06 F8 00 88 01 1C 05 BC C0 46 FF F7 D3 FF 01 4A 10 47 E8 40 00 00 55 E4 06 08


Bien, se podría decir que la rutina en sí está compuesta de 4 subrutinas, de la siguiente forma:
Subrutina 1: En color Azul
Subrutina 2: En color Púrpura
Subrutina 3: En color Rojo
Subrutina 4: En color Verde

Adicionalmente, se resalta en negrilla la variable compilada con la cual se hará funcionar la rutina. En esta rutina compilada que les traigo está por defecto la variable 40E8 (compilada E8 40); pero pueden cambiarla a la variable de su elección.

Ahora, hay varios punteros importantes en esta rutina que he señalado con letras:
  • WW WW WW ZZ: Es el puntero compilado de donde insertaremos nuestra tabla de BackGrounds (La estructura de esta tabla la pueden encontrar en el tutorial de Gooby). Indico ZZ porque dependiendo de si insertamos la tabla en un puntero más allá de FFFFFF (en roms expandidas) ZZ equivale a 09; de lo contrario equivale a 08.
  • XX XX XX ZZ: Es el puntero compilado de donde se inserta la (subrutina 3 +1). Indico ZZ porque dependiendo de si insertamos la tabla en un puntero más allá de FFFFFF (en roms expandidas) ZZ equivale a 09; de lo contrario equivale a 08.
  • YY YY YY ZZ: Es el puntero compilado de donde se inserta la (subrutina 4 +1). Indico ZZ porque dependiendo de si insertamos la tabla en un puntero más allá de FFFFFF (en roms expandidas) ZZ equivale a 09; de lo contrario equivale a 08.

En mi caso, inserté la Tabla de BG en el pointer 1C48500.
Y la rutina la inserté en el pointer 13C3790.
Por lo tanto, la rutina me queda de la siguiente forma:


Tras insertar la rutina se deben hacer los siguientes cambios:
  • En el pointer F26E: Se debe cambiar de 84 00 24 18 a 28 47 20 BC
  • En el pointer F2A0: Se debe cambiar de 34 EE 24 08 a el pointer de la (Subrutina1 +1), en mi caso 91 37 3C 09
  • En el pointer F2BA: Se debe cambiar de 84 00 24 18 a 28 47 20 BC
  • En el pointer F2E0: Se debe cambiar de 34 EE 24 08 a el pointer de la (Subrutina2 +1), en mi caso C1 37 3C 09
  • En los ponters F320, FD5C, FD88 : Se debe cambiar de 34 EE 24 08 a el pointer de la tabla de BG, en mi caso 00 85 C4 09

Y listo, tras hacer esto tienen su rutina completamente insertada.
Ya el resto es adecuar la tabla de BG a su gusto y jugar con la variable que seleccionaron para el proceso (en mi caso 40E8) tal cual como enseña Gooby en su tutorial.

Sin embargo este tutorial tiene una parte 2...

Parte 2: Imágenes de entrada


Como bien menciona Gooby en su tutorial, la tabla de los BG está realizada de tal forma que cada BG tiene 5 punteros:
Puntero 1: Tileset del BG
Puntero 2: RAW del BG
Puntero 3: Tileset de la imagen de entrada
Puntero 4: RAW de la imagen de entrada
Puntero 5: Paleta

Pues bien, resulta que yo inserté la rutina, todo bien...
Y añadí un BG a la tabla, para asignarlo a un mapa de bosque.
Como imagen de entrada le puse la misma asignada al BG1 (Hierba alta), y este fue el resultado:


¿Qué pasó?
¿Dónde se modifica el color de la imagen de entrada, si ese pointer no está en ninguna de las posiciones de nuestra tabla de BG?
Pues resulta que, la paleta del BG controla tantos los colores del BG como de la imagen de entrada, y resulta que no es una paleta de 16 colores, sino hasta de 48: Slots 2 y 3 para BG; y slot 4 para imagen de entrada.


Como ven, es el slot 4 el que rige los colores de la imagen de entrada.

El método que voy a explicar sirve para usar correctamente las imágenes de entrada que vienen por defecto en el juego, o para modificarle sus colores a voluntad. Para poder aplicarlo con imágenes nuevas que deban ser insertadas desde cero en la Rom, desconozco si dicha imagen debe estar indexada a 16 colores o indexada a 256; pero sería cuestión de probar y ensayar (Me inclino por la opción de 16 colores).

Ahora, qué se requiere para corregir esto:
  • Tener extraída y coloreada a gusto la imagen de entrada a utilizar, se debe utilizar los mismas posiciones de colores que usa la imagen original.
    En mi caso utilizo la imagen de entrada del BG1, la de la hierba alta:

    Es importante que la imagen tenga el mismo color "transparente" que el BG.
  • NSE 2.0 o similar (para insertar la paleta)
  • HxD o similar

Paso 1

En CMP, debes copiar la paleta de colores de la imagen de entrada, en el 3 "renglón" de la paleta del BG:


Luego, guardas la imagen como un bmp de 256 colores



Paso 2

En NSE 2.0 abrimos nuestra Rom.
A continuación abrimos nuestra imagen a 256 colores.
Y le damos a insertar paleta comprimida al Rom


El programa nos dirá la cantidad de bytes necesarios.
En mi caso yo la insertaré en el pointer 13C38A0


Paso 3

En HxD, vamos a nuestra tabla de BG, allí vamos al BG en cuestión y en la casilla de la paleta colocamos el pointer permutado del sitio donde insertamos la paleta, en mi caso coloco: A0 38 3C 09


En la imagen se señala en amarillo todos los pointers asociados al BG que se está modificando, y en azul el pointer específico de la paleta.


Tras este procedimiento, la imagen de entrada debería verse con los colores adecuados.


PD: Sé que los colores no corresponden con los de las imágenes pasadas.
Lo que pasa es que el resultado no me generaba buen contraste, entonces los volví a cambiar.



También están los créditos para Karatekid552 por la rutina ASM y el método para aplicarla.
Él agradece a la vez a: Driver, Jambo51, Darthatron, Mat, Tajaros, Narutoactor y Drfuji.

Espero haber sido claro y que les sea de ayuda.
Nos vemos.

Última edición por hacanoca; 25/11/2018 a las 05:31
  #2  
30/11/2018
Predeterminado Respuesta: FR-ASM-Expansión BG e imágenes de entrada
¿Ni un solo comentario?

he decir que es una rutina que AMO, con todo mi corazón, te ofrece una facilidad con todo, ademas te gestiona los battlebackground a tu gusto, con colores como gustes, es lo mejor que se han inventado.

Creo que una vez @Samu tenia algo referente a esto, de no ser así no importa.

Muchas gracias por compartirnos esto!
Gracias: hacanoca


ORGULLOSO DE NACHO, UN EXCELENTE TRABAJO Y AFORTUNADAMENTE PUEDO DECIR QUE TIENE MI GRANO DE ARENA!


¡GRACIAS A TODOS!


  #3  
01/12/2018
Predeterminado Respuesta: FR-ASM-Expansión BG e imágenes de entrada
Esto es una maravilla
Ya en su momento tuve que usar el tuto de Ruki y vaya trabajo me costó insertar el sistema, por supuesto hice unos ajustes a mi proyecto y nuevamente había que realizar el proceso, pero gracias a ti y a Compumax no he tardado mucho en insertarlo otra vez (Lo tenía pendiente, pero por lo mismo lo aplazaba siempre xD)

Saludos!!!
Gracias: CompuMax y hacanoca
  #4  
27/01/2019
Predeterminado Respuesta: FR-ASM-Expansión BG e imágenes de entrada
Aunque ya había visto el tutorial hace rato, creo que no lo detallé a fondo hasta ahora.
Así que voy a tratar de complementar un poco la información que nos ha traído hacanoca respecto a las imágenes de entrada.

- Si se inserta una nueva imagen de entrada, ésta debe estar indexada a 4bpp (16 colores) y el color de fondo no necesariamente debe ser el mismo color "transparente" que el BG, sino el primer color de la paleta, como siempre.

- A la hora de armar el mapa (raw) se debe asignar el número de paleta a usar en dicha imagen, en este caso la quinta paleta o paleta número 4.

Ya con esto más lo que les ha explicado hacanoca pueden insertar una imagen de entrada desde cero sin ningún problema.
Gracias: Dani_SR_17 y hacanoca

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 02:52.

© Whack a Hack! 2019