inv_gba
Thread Id: 24200
Thread Name: Efecto Iluminación/Sombra
#0
Zik 12278
Que tal gente, iré al punto de este tema. A que me refiero con eso de iluminación o sombra, pues me refiero a esto:

Iluminación:

Esto es lo que se puede lograr con imaginación...
Y, unos cuantos wbtos. :awesome:

Sombra:

Esta imagen esta editada pero si se puede lograr el efecto, lo que pasa es que me dio flojera hacerlo. :yao:

Bueno como se logra esto. Primero en el mapa(ya sea un bosque, templos bajo el agua, ect.) de su hack en el visual boy van a la opción de Map Viewer o visor de mapas si lo tienen en español (Tools/Herramientas ► Map Viewer/ Visor de mapas). No veo la necesidad de poner imágenes porque no es un tutorial pero bueno, sigamos con esto.

De la ventana del Visor de mapas la parte que nos interesa es la que dice Fondo/Background. Verán que hay cuatro opciones BG0, BG1, BG2, BG3. Al darle clic a los alvéolos verán que nos muestran varias partes del mapa, ¿porque?, eso es lo que explicare a continuación.

El rom, al cargar un mapa o la mayoría de los gráficos lo divide en 4 capas.
Cada capa tiene un nivel superior a la otra y este es el orden de las capas y que es lo que vienen cargando cada una.

-----------------------------------------------------
BG0: Esta es la capa superior de todas, en ella se cargan los texbox
-----------------------------------------------------
BG1: A qui se cargan los tiles que están por encima de los overworlds, son aquellos tiles que en el A-MAP pones del lado derecho y les das a guardar sin ponerle ningún efecto.
-----------------------------------------------------
[OBJ]
-----------------------------------------------------
BG2: A qui cargan los tiles que están por debajo de los overworlds y de los tiles que están en el BG1, son los que pones del lado izquierdo en el A-MAP y le das guardar sin ningún efecto y los que suelen ir acompañados de los del lado derecho que son los que cargan el BG1 para formar por ejemplo la parte superior de un árbol, que cuando observan el overworld pasa por debajo del árbol pero por encima del suelo.
-----------------------------------------------------
BG3: Se han preguntado que hace la opción "Block is covered by Hero" para que ya no puedas pasar por debajo los tiles. Se los explicare con simples palabras, esta capa sirve cuando activas esta opción para los tiles en el
A-MAP(que se encuentra en Fondo-Byte), lo que hace es que los tiles que deberían cargar en el BG1(los que se ponen del lado derecho) carguen en el BG2 y lo que que deberían cargar en el BG2(los que se ponen del lado izquierdo) carguen en esta la BG3.
-----------------------------------------------------

El [OBJ] son los overworlds.


Bueno, como se logra este efecto, pues el método que yo use fue el siguiente:

Me asegure que en la BG3 no hubieran mas que los tiles que iban a servir como iluminación(imagen donde esta latias). Y depues con estos wbtos:
-----------------------------------------------------
writebytetooffset 0x41 0x400000E |
writebytetooffset 0x1E 0x400000F |

Estos hacen que la capa BG3 tenga prioridad como la BG0 osea que este por encima de de las demás, sin afectar a la BG0.
-----------------------------------------------------
writebytetooffset 0x3F 0x4000048 |
writebytetooffset 0x1F 0x4000049 |

Estos hacen que se active el efecto especial de capas
-----------------------------------------------------
writebytetooffset 0x48 0x4000050 |
writebytetooffset 0x1E 0x4000051 |

Estos hacen que la BG3 sea la capa que se combinara con las demás para hacer el efecto
-----------------------------------------------------
writebytetooffset 0x8 0x4000052 |
writebytetooffset 0xE 0x4000053 |

Estos controlan la intensidad de como se vera, en este caso como la imagen de iluminación.
-----------------------------------------------------

Así es como lo eh logrado, pero si ya lo logre porque lo publico en el tema de investigación. Lo que pasa es necesito ayuda para que alguien pueda hacer que este efecto sea permanente, ya que como ocupo wbtos, ya saben lo que ocurre cuando refrescamos, se pierde el efecto.

La solución podría ser ASM, pero ese no es mi campo, pero creo que los poco ASM Hacker del foro ya no esta, así que espero que alguien me ayude.

Espero y alguien conteste una posible solución a esto.
Si se lograra este efecto seria algo nuevo para los hacks, bueno eso fue todo.
#1
Pacodelopio 26193
¿Y si usas un script de nivel para que sea permanente? Hace poco tambien tenia una duda con wbto y jo7a me dijo que si lo pones de script de nivel y luego con una flag o asin lo activas y desactivas cuando quieres.
#2
Andrea 25004
well it's possible to do but only in part :/
if you load a tileset of light in BG0 when player moves the tile follow player, not remain in the same position...
if you look BG1,2,3 are updated every time we step, BG0 no...
there would be a way but it would be very difficult and complicated:
-make a routine asm always active depending on the value of a variable the routine will be active or not
-if the variable has the value set in the routine load the tile of light in BG0 else do nothing
-when load tile in BG0 control in offset of key press 4000130 the direction of player
if it goes down then ec...
if it goes up then ec...
#3
J.com 12785
Si lo que quieres es hacer que los wbto se ejecuten siempre, aunque refresques, tan solo tienes que incluirlos en un script y ponerlo como script de nivel. Haces uno de tipo 07 y otro de tipo 04, los dos con el mismo offset del script, y al de tipo 04 le asignas una flag que NO kieras desactivar nunca.

La verdad está interesante este tema, me llama la atención hacer ese efecto ya que queda genial. Lo único, deberías especificar pra qué base es. Por lo que veo es para ruby, no sé si también servirá en fr.

Te animo a seguir investigando ;P
#4
Zik 12278
Iniciado por Jo7a~

La verdad está interesante este tema, me llama la atención hacer ese efecto ya que queda genial. Lo único, deberías especificar pra qué base es. Por lo que veo es para ruby, no sé si también servirá en fr.

Te animo a seguir investigando ;P


Creeme sigo investigando , probare lo del script de nivel a ver que sucede.

Y la verdad sirve para cualquier rom.