Registrarse

FR | ASM | Sistema de Paletas de Overworlds Dinámico

Gold

Porrero a tiempo parcial
Miembro insignia
Esta rutina pertenece a Navenatox, yo solo reposteo el tema


Muchos de nosotros hemos notado el extraño sistema de overworlds con el que funciona Fire Red, nos hemos dado cuenta que aunque expandamos la cantidad de paletas para overworlds, estos simplemente son ignorados y el juego carga las mismas paletas predefinidas, y hacer que cargue algúna paleta en un slot extra es un verdadero dolor de cabeza, esto se debe al inflexible sistema de overworlds de Fire Red, de hecho, los únicos slots que se cargan de manera dinámica son los slots 0x0 y 0xA, (Curiosamente, son las paletas de ambos protas), pero dichas paletas no son recomdables cambiar ya que hay varios gráficos que dependen de dicha paleta (Exclamaciones, flechas de salida, la cosa en la que haces surf, etc), pero gracias a Navenatox poner más paletas para overworlds es posible c:

¿Y como funciona la wea?
Cuando aplicas el parche los cuatro bits de la estructura de los NPC que indican en que slot cargar la paleta es ignorado, en vez de eso, el juego usa como referencia un sistema que cuenta el rastro de las paletas a las cuales tienen acceso los diversos OBJs. Cuando un sprite es mostrado en pantalla, su paleta es cargada de manera automática en un slot libre, cuando dicho sprite ya no está en pantalla, su slot es borrado y queda libre para que otro overworld en pantalla escriba en dicho slot.

Cabe mencionar que dicha rutina no afecta solo a los NPC, basicamente actúa de dicha manera con cualquier sprite que use los slots de overworlds. Los OBJs que son mostrados en pantalla no son afectados. Como sabrán FR por defecto soporta hasta 255 overworlds, y si extendemos la tabla de paletas podemos tener hasta 255 paletas, en resúmen, podemos hacer que cada overworld use su propia paleta.

Arreglos Adicionales
Aparte del gran cambio en el sistema de carga de overworlds, el parche tambien repara los siguiented bugs que son propios de BPRE:

  • Cuando el clima cambia de tormenta de arena o reflejo de nubes a otro clima, el juego no carga la nueva paleta y el efecto climático se vuelve bugeado.
  • Algunos overworlds no cambian a escala de grises durante los flashbacks, asi como las tormentas de arena, reflejo de nubes o bloqueo de animaciones durante el clima nublado.
  • Hablando de neblina, solo el tipo de clima 'Steady mist' hacen que los bloques de animación de niebla sea más brillante que el overworld, los otros tipos de niebla no.
Y como regalo, se ha hecho que los reflejos en el agua sean tambien dinámicos, por lo cual las paletas de reflejos en el agua son autogenerados por el engine.

El Parche
Puedes descargar el parche aquí. El código fuente lo puedes encontrar en el GitHub de Navenatox.

Loa datos son escritos en 0xF00000, lo cual lo hace compatible con la mayoría de hacks.Si en tu hack ya tienes usado esa offset puedes ensamblar la rutina en otro offset siguiendo las instrucciones en el repositorio de GitHub de Navenatox.

El parche solo funciona en FireRed 1.0.

En resúmen, para los que no le pillaron a esto, tras aplicar esto puedes poner en pantalla (Osea Rango Visible) hasta 16 paletas distintas, si miras la imágen del principio, verás que en ese rango visible hay 5 sprites, una exclamación y dos reflejos en el agua, lo que hace 8 paletas distintas en pantalla, puedes poner en un mapa muchos sprites con paletas distintas, pero cuida que en un mismo rango visible no hayan más de 16 paletas diferentes (Aunque nadie es tan bestia como para poner un montón de paletas en un mismo sitio).

Si ves que hay un error en la rutina, no lo reported aquí, reportalo en el GitHub antes mencionado o informalo directamente a Navenatox en su perfil de Pokecommunity The PokéCommunity Forums - View Profile: Navenatox
 
Última edición:

Cheve

MoonLover~
Miembro de honor
Respuesta: FR | Sistema de Paletas de Overworlds Dinámico

¿PERO QUE MIERDA ME ESTAS CONTANDO?

Estoy que me caigo de la silla. ¡Hasta que alguien con suficientes conocimientos lo hizo! Esto viene de puta madre para absolutamente todo el mundo, una joya realmente.
Gracias por el aporte, verdaderamente, algo absolutamente genial. Ahora si, a meter minis C:


(NO DOY MAS DEL HYPE)
 

Sayer301!

UnityLord!
Miembro de honor
Respuesta: FR | Sistema de Paletas de Overworlds Dinámico

a ver, me acabas de dejar muy muy loco... A ver que me entran dudas y quizás puedas resolvermelas.

Ya no solo disponemos de las paletas que queramos para los minis, si no que además tenemos paletas automáticas para el reflejo. ¿Pero y las paletas de las exclamaciones, de la animación de hierba, la sobra al saltar y demás efectos secundarios? Hay que asignarles la paleta de un OW o como va ese rollo? porque es de lo unico que no me he enterado bien. Por el resto... pedazo rutina me cago en to, me veo editando todos los minis de mi hack ooootra vez... XD
 

Invert

why so serious?
Respuesta: FR | Sistema de Paletas de Overworlds Dinámico

¡Shit!
Por fin se resolvió mi bug con las paletas de mis minis, el hack es increible, eso de que comprueba la paleta ignorada es ¡genial!
Aunque habrá que ver como insertar eso en hacks que ya están hasta el cuello de datos.
 

Gold

Porrero a tiempo parcial
Miembro insignia
Respuesta: FR | Sistema de Paletas de Overworlds Dinámico

a ver, me acabas de dejar muy muy loco... A ver que me entran dudas y quizás puedas resolvermelas.

Ya no solo disponemos de las paletas que queramos para los minis, si no que además tenemos paletas automáticas para el reflejo. ¿Pero y las paletas de las exclamaciones, de la animación de hierba, la sobra al saltar y demás efectos secundarios? Hay que asignarles la paleta de un OW o como va ese rollo? porque es de lo unico que no me he enterado bien. Por el resto... pedazo rutina me cago en to, me veo editando todos los minis de mi hack ooootra vez... XD
Pues siguen en su pocisión original, solo que ahora dichas animaciones se les autoasigna slot en vez de usar el slot que sus últimos 4 bits indican.

¡Shit!
Por fin se resolvió mi bug con las paletas de mis minis, el hack es increible, eso de que comprueba la paleta ignorada es ¡genial!
Aunque habrá que ver como insertar eso en hacks que ya están hasta el cuello de datos.
En el repositorio de arriba están las instrucciones para ponerlo en una offset especifica, se ensambla igual a la rutina de megaevolución de Touched, yo también tenía ocupado 0xF00000, pero con el repositorio lo inserté donde quize.
 

MegaSceptile9

Usuario mítico
Respuesta: FR | Sistema de Paletas de Overworlds Dinámico

¡M-A-D-R-E-M-I-A! estos me produjo unos 100 orgasmos .____.

Llevaba esperando por esto Mmmm, no se...¡UNOS 20 AÑOS! (?) son las cosas que me dan ganas de agarrar mi hack y comenzar a hackear nuevamente.

Como ha progresado esto, JOER :O Gracias por traerlo aquí.
 

Sayer301!

UnityLord!
Miembro de honor
Respuesta: FR | Sistema de Paletas de Overworlds Dinámico

@~Ruki![/MENTION [MENTION=30267]~Ruki! @~Ruki! Tengo otra duda al respecto y como he visto que lo has hecho seguramente puedas responderme.

Agregar paletas, en HxD está tirao, pero... ¿A la hora de asignársela a un mini? Imagino que habrá que recurrir a HxD también, pero... ¿Eso quiere decir que el NSE dejaría de funcionar al no reconocer los numeros de las paletas?
Grasiah de antebraso!
 

Gold

Porrero a tiempo parcial
Miembro insignia
Respuesta: FR | Sistema de Paletas de Overworlds Dinámico

@~Ruki![/MENTION [MENTION=30267]~Ruki! @~Ruki! Tengo otra duda al respecto y como he visto que lo has hecho seguramente puedas responderme.

Agregar paletas, en HxD está tirao, pero... ¿A la hora de asignársela a un mini? Imagino que habrá que recurrir a HxD también, pero... ¿Eso quiere decir que el NSE dejaría de funcionar al no reconocer los numeros de las paletas?
Grasiah de antebraso!

@Invert hizo un tuto sobre como extender la tabla de paletas de minis, ahora mismo no lo tengo, pero al agregar una paleta nueva debes ponerle el número de paleta que representará, por defecto están sin usar 0xD, 0xE, 0xF, 0x12 y desde 0x16 hasta 0xFE, mirate ese tuto para asignar nuevas paletas.
 

Naren Jr.

Puto amo
Usuario de Platino
Respuesta: FR | Sistema de Paletas de Overworlds Dinámico

Vaya semejante aporte D: ya tengo tiempo que no me paso por pokeco, esta rutina es muy útil para los que expandimos la tabla de paletas uwu así imagino que no nos liamos buscando slots para cargar la paleta.

Saludos!
 

Chandragupta

~the lunatic is in my head~
O.O

Thanks Gold!!, this is a great great notice!!.

Ahora por fin podre meter los minis con los colores que quiera!!, y mejor aun podre hacerlo para un hack que tiene mucho color!!.

Entendi lo que dice este tutorial por lo que no hay problema.
Gracias a Navenatox, esta es una gran contribución.

Gracias a Gold por subir esto XD.

See ya later!!.
 
Bendito seas XD me servirá de mucho esto! Sólo tengo una duda, veo que la ROM que has puesto como muestra en la imagen tiene sprites de cuarta generación, cómo añado ese tipo de Sprites a mi FR?
 

Juan Kio

Aprendiendo decomp...
Uff esto es lo que andaba buscando,gustamente hoy tenia problemas con los minis y bueno a la hora de insertar el parche tenia esas offset ocupadas.Asi que decide ensamblarlo y compartirlo para quien tuviese el mismo problema que yo, sin mas,aquí les dejo dos parches que coloca el Sistema de Paletas de Overworlds Dinámico en diferentes direcciones.

parche 1: FD0000
Parche 2: 900000
 

Umbreon_With_K

A Darkner
Gracias! pero ahora que ya entendi esta whea, como expando los slots y paletas de mi rom tanto para overworld y los trainers.
 

Gold

Porrero a tiempo parcial
Miembro insignia
Иacho;429361 dijo:
gold, me da un bug, cuando uso applymovement con el player.

Este al moverse toma las paletas de otros minis y cambia de color. @Franco1
Es algo muy extraño. Yo lo uso y no me dan bugs los applymovement. ¿Has probado a ver si sucede lo mismo en una Rom limpia?

Gracias! pero ahora que ya entendi esta whea, como expando los slots y paletas de mi rom tanto para overworld y los trainers.
Con Overworld manager.
 

Dani_SR_17

¡Pokémon LionHeart!
ⓖⓞⓛⓓ;429607 dijo:
Es algo muy extraño. Yo lo uso y no me dan bugs los applymovement. ¿Has probado a ver si sucede lo mismo en una Rom limpia?
Иacho;429361 dijo:
gold, me da un bug, cuando uso applymovement con el player.

Este al moverse toma las paletas de otros minis y cambia de color.
A mi también me pasa desde hace tiempo, según he podido observar (no lo he solventado), pasa cuando el mini salta (y se coloca en la misma posicion que otro mini) usando alguna exclamación con algún mini con paleta añadida en la pantalla, y no siempre pasa.
Mi teoria es porque o bien hay demasiadas paletas cargadas o que se le va la pinza a la rom al tener los dos minis superpuestos.
Quise indagar más a fondo, pero nunca llegue a hacerlo, si alguno se anima puedo deciros exáctamente los momentos en los que pasa en mi hack.
 

Gold

Porrero a tiempo parcial
Miembro insignia
A mi también me pasa desde hace tiempo, según he podido observar (no lo he solventado), pasa cuando el mini salta (y se coloca en la misma posicion que otro mini) usando alguna exclamación con algún mini con paleta añadida en la pantalla, y no siempre pasa.
Mi teoria es porque o bien hay demasiadas paletas cargadas o que se le va la pinza a la rom al tener los dos minis superpuestos.
Quise indagar más a fondo, pero nunca llegue a hacerlo, si alguno se anima puedo deciros exáctamente los momentos en los que pasa en mi hack.
Vaya que las condiciones para que ese bug suceda son extrañas. Creo que en dado caso habría que informar a Navenatox sobre el bug con la rutina. Aunque repito, las condiciones que pones son algo extrañas y dificiles de conseguir.
 
Arriba