Registrarse

[FR] Background Batalla - Dia y Noche

Estado
Cerrado para nuevas respuestas.

zaux

Usuario mítico
Como puedo hacer que el background cambie, dependiendo si es de noche o día... Que cambie completamente es decir otro tileset, no que cambie las paletas con el DNS...
Cualquier pista, me dicen...
 

Jo7a

Kiero mi nick amarillo D:
Como puedo hacer que el background cambie, dependiendo si es de noche o día... Que cambie completamente es decir otro tileset, no que cambie las paletas con el DNS...
Cualquier pista, me dicen...
Pues la verdad no se conoce una manera oficial de hacer esto, pero creo que tengo un método que te puede servir perfectamente:

Hay un tuto que trajo gold de pokeco (creo que era de karatekid, éelo aquí) que sirve para meter una gran cantidad de bgs de batalla en una tabla, y cargarlos simplemente con un setvar.

Supongo que ya sabrás el script para iluminar ventanas mediante el DNS, comparando la hora que es para que de X hora a Y hora las ventanas se iluminen con setmaptile.

Pues sería cuestión de hacer lo mismo, pero en el script de nivel, en vez de meter los setmaptiles, pones el setvar para cambiar el BG de batalla. Asi tendras X bg durante el día, e Y bg durante la noche.

El tutorial funciona perfectamente, yo lo he probado y puedo confirmarlo 100%, asi que si tienes algún problema a la hora de insertar el BG o aplicar el tuto, avisame y te ayudo ;)
 

Gold

Porrero a tiempo parcial
Miembro insignia
Tenía entendido que al meter el DNS la paleta de estos csmbiaba según la hora
 

Kaiser de Emperana

Called in hand
No creo que haya alguna rutina publica para eso, pero no creo que sea muy dificil hacerlo con ASM.

Podrías rastrear la rutina que lee los punteros de la Raw, el tileset y sus paletas; y modificarla para que haya un condicional. Por ejemplo: si lee un puntero mayor a 0x08000000 que siga normalmente. Y si es menor, por ejemplo 0x052f6000 que le sume 0x03000000 y así te queda un puntero en la ROM.
Y en la dirección 0x082f6000 pones una tabla con diferentes punteros a dintintos backgrounds según la hora.

No tengo ninguna certeza de que ésto funcione, ya que nunca me puse a ver, pero diría que sí.
 

eing

Miembro de honor
Miembro de honor
No creo que haya alguna rutina publica para eso, pero no creo que sea muy dificil hacerlo con ASM.

Podrías rastrear la rutina que lee los punteros de la Raw, el tileset y sus paletas; y modificarla para que haya un condicional. Por ejemplo: si lee un puntero mayor a 0x08000000 que siga normalmente. Y si es menor, por ejemplo 0x052f6000 que le sume 0x03000000 y así te queda un puntero en la ROM.
Y en la dirección 0x082f6000 pones una tabla con diferentes punteros a dintintos backgrounds según la hora.

No tengo ninguna certeza de que ésto funcione, ya que nunca me puse a ver, pero diría que sí.
Ole maestro.
Afirmas algo sin haberlo probado, chapeau.
La idea no es mala, pero.. No.
No funciona así la cosa, y si el no sabe asm ya que tu sí, porque no le posteas un ejemplo?
._.

Btw, si no sabes de asm, ninquieres aprender lo desconozco.. Te diria que uses la idea de @jota, de lo contrario, me descargaria las herramientas de asm hacking (thumb y vba-sdlh) y empezaria a trastear y aprender la sintaxis basica de asm.
Despues ya es solo identificar cuando carga el puntero de la imagen, y que chequee la hora, y cuando algo sea de noche cargue otros tileset, raw y paletas.
 
Estado
Cerrado para nuevas respuestas.
Arriba