¡SMBX2b5: La Evolución del Proyecto!
SMBX2b5 representa un hito en el desarrollo de uno de los proyectos más emocionantes de la comunidad de juegos, con cuatro años de trabajo arduo y dedicado detrás de él. Esta actualización no solo marca un paso significativo en la evolución de SMBX, sino que también refleja el compromiso del equipo detrás del proyecto para mejorar y pulir continuamente la experiencia de juego para los usuarios.
A primera vista, esta actualización puede no ser la más llamativa en términos visuales, pero su verdadero impacto se siente profundamente una vez que te sumerges en ella. Desde una atención meticulosa a los detalles hasta la ampliación de la versatilidad de diversos objetos y la corrección de errores, cada aspecto del juego ha sido revisado y mejorado para ofrecer una experiencia aún más fluida y versátil.
Lo que hace que SMBX2b5 sea realmente especial es su capacidad para establecer una base sólida para futuras versiones. Esta actualización no solo se trata de añadir nuevas funciones, sino también de preparar el terreno para la implementación de características emocionantes que están por venir. Es un testimonio del compromiso del equipo con la excelencia y su deseo de llevar la experiencia de juego a nuevas alturas.
Ya sea que seas un veterano fanático de SMBX o simplemente estés buscando una experiencia de juego enriquecedora, esta actualización seguramente te cautivará con su refinamiento y su potencial para ofrecer horas interminables de diversión y entretenimiento. ¡No te pierdas la oportunidad de experimentar la evolución de SMBX con SMBX2b5!
IR A LA PAGINA DE DESCARGA: https://www.smbxequipoestelar.com/super ... arga-smbx2
Registro de cambios:
Spoiler:
ACTUALIZACIONES:
Los cambios resaltados en rojo pueden afectar al comportamiento de los niveles creados anteriormente.
SMBX2 Beta 5 (2024-02-04)
Peso
- Añadido un nuevo sistema de peso para distinguir la pesadez de jugadores y NPCs.
- Añadida nueva bandera de configuración NPC: "peso" (numero)
- Bandera de configuración NPC obsoleta: "isheavy" (booleano)
- Los NPCs que antes usaban la configuración "isheavy" ahora usan "weight".
- Si isheavy está activado pero weight no, weight por defecto es 2.
- isheavy es siempre verdadero cuando el peso de un PNJ no es cero.
- Los bloques frágiles y los bloques donut utilizan ahora el peso en lugar de isheavy para determinar si su comportamiento de colisión debe producirse.
- Se han añadido nuevos indicadores de configuración de bloque/PNJ para los bloques frágiles y los bloques donut: ignorarjugadores, ignorarpnjs, activarpeso. Por defecto son false, false y 1 respectivamente.
- Los jugadores ahora tienen un peso de 2, y un peso de 10 mientras están mega.
- El peso de los jugadores y el de los NPCs que los sostienen se suman.
- Los jugadores y NPCs ahora tienen métodos getWeight(), attachWeight() y detachWeight() para alterar su peso sobre la marcha. Para más información, consulta sus respectivas páginas de documentación.
Bloques
- Añadido: Bloques Bombardeables, en tamaños pequeño y grande, que sólo pueden ser destruidos por explosiones y bloques POW.
- Añadido: Taludes Sólidos Invisibles, 45° y 25°.
- Añadido: Bloques Dirigibles extendidos SMB3
- Añadido: Ladrillo del Castillo de Bowser de SMW
- Añadido: Semisólidos y Taludes sincronizados
- Añadido: Extensiones de tuberías de SMW y SMB3
- Añadido: Pendientes de tronco de torre de SMB2
- Añadido: Escaleras de la Casa Fantasma de SMW
- Añadido: Pendientes de paso de jugador/li>
- Bloques parpadeantes: El estado de los bloques parpadeantes se define ahora como un número. Es posible añadir más estados de bloques parpadeantes que los dos por defecto.
- Despejar Tuberías: Si un PNJ ha sido disparado por un cañón de tubería transparente, ahora emergerá en el estado "Proyectil" por defecto. Este comportamiento puede desactivarse estableciendo clearpipeNPC.revertCannonNPCProjectile en true.
- Despejar tuberías: La activación de una salida fuera de pantalla ahora finaliza correctamente el nivel con el tipo de victoria Salida fuera de pantalla.
- Despejar tuberías: Ya no se juega con Defines.player_runspeed, haciéndolos consistentes en multijugador.
- Tuberías transparentes: Si un PNJ ha sido disparado por un cañón de tubería transparente, ahora emergerá en el estado "Proyectil" por defecto. Este comportamiento puede desactivarse estableciendo clearpipeNPC.revertCannonNPCProjectile en true.
- Despejar tuberías: La activación de una salida fuera de pantalla ahora finaliza correctamente el nivel con el tipo de victoria Salida fuera de pantalla.
- Despejar tuberías: Ya no se juega con Defines.player_runspeed, haciéndolos consistentes en multijugador.
- Bloque Traje: Añadidos ajustes adicionales para forzar el bloque a establecer un traje específico.
- onCollideBlock: Dividir onCollideBlock en onCollideBlock y onIntersectBlock. Este último puede ser activado por NPCs que no colisionan con bloques.
- onCollideBlock: Los bloques elementales y 1f0 utilizan ahora onIntersectBlock. Los bloques de hoja frágil siguen usando onCollideBlock.
- onCollideBlock, onIntersectBlock: Se ha mejorado el rendimiento de un gran número de bloques que utilizan estas funciones estando presentes en un nivel o en pantalla.
- onCollideBlock, onIntersectBlock: Añadida una función a través de la cual los NPCs pueden añadir sus propias funciones de colisión personalizadas. Comprueba burner.lua para una implementación.
- 1f0 (Bloque deslizante): Se ha corregido un error por el que no era posible que los PNJ entraran en pequeños huecos exactamente a la altura de su hitbox al transferirse de 1f0 a un saliente. Esta corrección se puede desactivar cargando glidingblock.lua y poniendo glidingblock.undoLedgeFix a true antes de onStart.
- 1f0 (Bloque de deslizamiento): Ahora se pueden registrar los manejadores onGlide y onRelease para personalizar el comportamiento de planeo. Utilizado por Thwomps para corregir un error de salto giratorio al utilizar el planeo tanooki.
- Bloque destructor de nitro: La destrucción de nitro se retrasa hasta 8 fotogramas.
- Bloque interruptor P (YI): Se han corregido problemas relacionados con la alternancia del estado activo del bloque.
- Bloque interruptor P (YI): Cambiados los sprites del estado OFF. El nuevo sprite tiene 4 cuadros por defecto y es una representación punteada del sprite del estado ON.
- Bloque de energía de reserva: Se ha corregido un error que impedía vaciar la caja de objetos de reserva si no tenía contenido.
- Bloques bomba Kirby, TNT, Nitro, Suciedad rompible, Bloque de giro rompible: Se ha reducido la velocidad del contenido de monedas que aparece al destruir el bloque.
- Bloques de limo: Añadido slime.touching al archivo AI, para comprobar fácilmente si un jugador está en contacto con un bloque de limo.
- Interruptores sincronizados: El estado sincronizado se define ahora como un número. Es posible añadir más estados sincronizados que los dos por defecto.
Configuración de bloques
- Global: Se ha corregido la interacción entre las opciones "semisólido" e "inclinación del suelo" de la configuración de bloques.
- Global: Añadido ediblebyvine - Si es true, las enredaderas mutantes pueden comerse el bloque.
- Global: Añadido walkpaststair - Si es verdadero, el jugador y los PNJ que se acerquen a este bloque de escalera (pendiente semisólida) estando en el suelo pasarán de largo en lugar de subir.
- Bloques frágiles: Peso de activación añadido: peso mínimo necesario para que el bloque se rompa.
- Bloques frágiles: Añadido ignoreplayers - Si es true, los jugadores no pueden hacer que el bloque se rompa
- Bloques frágiles: Añadido ignorenpcs - Si es true, los NPCs no pueden provocar la rotura del bloque.
Fondos
- Añadido: Muros del Castillo SMB3 (Día)
- Añadido: Muros del Castillo SMB3 (Noche)
- Añadido: SMB3 Colinas del cielo nocturno
- Añadido: SMB3 Espacio
- Añadido: SMW Capa 3 Cueva
- Añadido: SMW Capa 3 Castillo
- Añadido: SMB Playa
- Añadido: Muros del castillo SMB
- Añadido: SM Viejo Tourian
BGOs
- Añadido: Extensiones a la caja de objetos Casa Fantasma de SMW
- Añadido: Extensiones a la caja de objetos del Bosque de SMW
- Añadido: Extensiones a SMB3 Grassland itembox
- Añadido: Extensiones a la caja de SMB3 Casa
- Añadido: Extensiones a la caja de SMB3 Airship
- Añadido: Extensiones a la caja de SMB1 Castillo
- Añadido: Extensiones a la caja de objetos Agua de SMW
- Añadido: Un BGO que hace que los NPCs en una Linea Guia se detengan
- Vallas: Arreglado un bug por el que la velocidad no se aplicaba correctamente cuando un jugador trepaba por ellas (1.3 layer fence glitch).
- Guías de línea: Ahora los PNJ se desprenden de las guías de línea cuando las sujeta un jugador.
- Se ha corregido un error por el que no se aplicaban correctamente los ajustes adicionales de BGO.
NPCs
- Todos: Arreglado un error de vanilla por el que los NPCs no aparecían correctamente si no estaban completamente dentro de los límites de la sección. Se puede desactivar con Misc.SetNPCSectionFix().
- Varios: Se ha corregido un error por el que los efectos de sonido se reproducían incorrectamente al morir. También se ha corregido un error por el que los puntos de control mostraban un efecto al aparecer en ellos.
- Añadido: Boss Bass (del NPC Pack de Murphmario)
- Añadido: Luces en forma de caja y luces en forma de línea
- Añadido: Bully, Big Bully (del pack NPC de MrDoubleA)
- Añadido: Quemadores (del pack NPC de IAmPlayer)
- Añadido: Escarabajo Quemador
- Añadido: Chain Chomp (del pack NPC de MrDoubleA)
- Añadido: Clawgrip, Clawgrip's Boulder (del pack NPC de KateBulka)
- Añadido: Clear Vase (un suministro infinito de objetos enterrados)
- Añadido: Curry Nipper Plant (del NPC Pack de GtW), Salsa Nipper Plant
- Añadido: Fire Chomp (del Pack NPC de GtW)
- Añadido: Asta de Bandera. Sale del nivel con Estado Final 9/Tipo de Victoria 10: Asta de Bandera.
- Añadido: Hiding Lakitu (del NPC Pack de MrDoubleA)
- Añadido: Carámbanos (del pack NPC de IAmPlayer)
- Añadido: Jonathan, un PNJ amistoso que explota cuando silba un Whistlin' Chuck
- Añadido: Puesto de la tienda Lakitu (anteriormente característica definitoria de Wario Beta 3)
- Añadido: Plantas Piraña (del Pack NPC de MrDoubleA)
- Añadido: Vegetal Venenoso
- Añadido: Respawner (un spawner que respawns una instancia de un NPC en un retraso)
- Añadido: Bloques POW de SMB2, SMW y SMW (Rojo)
- Añadido: Cañones de Dirigible SMB3 (del Pack NPC de Lusho)
- Añadido: SMB3 Donut Blocks
- Añadido: Cinta de Meta y Orbe de Meta de SMW (del Pack NPC de MrDoubleA)
- Añadido: Variantes cuadradas del Boomper y Baby Boomper.
- Añadido: Variantes fijas del Muelle Rojo de SMW (Muelle Rojo Fijo de SMB1).0
- Añadido: Pincho, pincho de nieve, bola de pinchos y bola de pinchos de nieve de Super Mario Maker (del Pack NPC de MrDoubleA).
- Añadido: Twister de Super Mario Maker (del Pack NPC de KateBulka)
- Añadido: Plataformas oscilantes y Bola y cadena (del Pack NPC de MrDoubleA)
- Añadido: Interruptores sincronizados (reutilizables)
- Añadido: Puntería Fishbone de Super Mario Maker
- Añadido: Plataforma Numérica YI (del NPC Pack de MrDoubleA)
- Añadido: YI Egg-Plant y Eggry-Plant (variante del generador de proyectiles)
- Eliminado: Old Goal Tape
- Eliminado: Antiguos NPCs Planta Piraña
- Obsoletos: Antiguos NPCs SMB3 Donut Block
- Obsoleto: Antiguo Bloque POW
- Bebé Yoshi: Ahora puede comer bayas.
- Bebé Yoshi: Un valor de configuración de hambre por debajo de 0 ahora hace que el Bebé Yoshi nunca crezca.
- Bloopers: Añade nuevas configuraciones extra.
- Blurp (npc-232): Ya no está obsoleto.
- Boohemoth: Ahora tiene notcointransformable por defecto.
- Bolas de Bowser: Se ha corregido un error por el que a veces actuaba como si hubiera chocado contra un muro al tocar la parte superior de una pendiente.
- Bros (Martillo, Bumerán, Trineo): Su comportamiento al agarrar ahora se ajusta más al del hermano martillo de SMB1.
- Bros (Martillo, Bumerán, Trineo): Se han añadido ajustes adicionales para saltar a través de bloques y a diferentes salientes.
- Bros (Trineo): Se detiene un poco en el aire antes de golpear.
- Bros (Trineo): Solo aturde a los jugadores si están visibles en la misma pantalla.
- Bros Bumeranes: Ajustado el comportamiento de lanzamiento para que sea consistente al lanzarlo.
- Bros Bumeranes: Arreglado un error por el que la configuración de velocidad no funcionaba correctamente.
- Bullet Bill Spawner: Añadido un ajuste extra para cambiar el comportamiento de selección de lado cuando se generan NPCs.
- Bumpers: Ajustada la lógica de rebote, disminuyendo la posibilidad de rebotes en direcciones erróneas (especialmente cuando se coloca una línea de bumpers cuadrados como puente).
- Parachoques: Ahora se pueden registrar controladores de dirección personalizados por ID.
- Escarabajos: Ahora se pueden registrar casos especiales de lanzamiento para cualquier ID a través del archivo AI.
- Escarabajos: Ahora se pueden registrar casos especiales de recogida para cualquier ID a través del archivo AI.
- Escarabajos cazadores: Ahora pueden recoger bloques lanzados.
- Buster Beetles: La dirección de los objetos recogidos ahora es la misma que la del escarabajo.
- Escarabajos demoledores: Los objetos recogidos se mantienen ahora en el estado forzado 208, en vez de en el 5.
- Punto de control: El punto de control de la puerta SMW ya no reproduce ruido de pisotón por accidente.
- Punto de control: Añadidos ajustes extra para cambiar el potenciador y el sonido.
- Nube Drops: Corregida la falta de "nowaterphysics" config flag.
- Todos los Chucks: Se han solucionado problemas relacionados con el indicador de configuración npconhit.
- Chargin' Chucks: Arreglado un error por el que a veces actuaba como si hubiera chocado contra un muro al tocar la parte superior de una pendiente.
- Cajas: Su contenido ahora se puede definir a través de los campos de configuración adicionales individuales, en lugar de una cadena.
- Diggin' Chuck: se ha flexibilizado el algoritmo de generación en caso de que se modifiquen los proyectiles o las rocas.
- Dino Rinoceronte: Se ha corregido un error por el que a veces actuaba como si hubiera chocado contra un muro al tocar la parte superior de una pendiente.
- Dino Antorcha: La duración del aliento de fuego depende ahora de la propiedad de duración del PNJ de fuego.
- Dino Antorcha: Se ha corregido un error por el que a veces actuaba como si hubiera golpeado una pared al tocar la parte superior de una pendiente.
- Dino Antorcha de Fuego: El código de animación es más flexible. Ver sección de configuración del PNJ.
- Dino Antorcha de Fuego: Ahora usa luces de línea.
- Bloques de motor: Ajustado el código del accesorio para que genere accesorios más grandes que el motor.
- Bola de fuego enemiga: Arreglado el error "rebota" de la configuración de PNJ.
- Bola de fuego enemiga: Arreglado un error por el que a veces actuaba como si hubiera chocado contra un muro al tocar la parte superior de una pendiente.
- Bola de fuego enemiga: Ahora pasa a través de otros PNJs en lugar de dar la vuelta al golpearlos. El comportamiento anterior se puede volver a activar con la configuración "turnfromnpcs".
- Fuego Bros: Se ha ajustado la IA para que sea más parecida a la de SMB3. Se han añadido nuevas opciones de configuración de PNJ.
- Hermanos de fuego: Ahora disparan bolas de fuego incluso cuando son sostenidos por otros NPCs.
- Fishbone (npc-234): Ya no está obsoleto.
- Fliprus: Ajustado el código para soportar más fácilmente diferentes spawnids, en particular los proyectiles de SMM Spike.
- Bolas de nieve de Fliprus: Se ha ajustado el código para que otros PNJ puedan lanzarlas más fácilmente.
- Bolas de nieve de Fliprus: Se ha corregido un error por el que a veces actuaba como si hubiera golpeado una pared al tocar la parte superior de una pendiente.
- Bolas de nieve de Fliprus: Ahora se destruirán al golpear a otro PNJ en lugar de darse la vuelta. El comportamiento anterior se puede volver a activar con la configuración "turnfromnpcs".
- Aleteo: Se han sustituido los gráficos para adaptarlos a la versión SNES de Yoshi's Island, en lugar de a la versión GBA.
- PNJ voladores (Parakoopas, Paragoombas): Añadido comportamiento "Flotar en el sitio".
- Frightlight: Ahora tiene "nowaterphysics" activado por defecto.
- Burbuja de gas: Ahora tiene "nowaterphysics" activado por defecto.
- Rey Bill: Se ha corregido un error que impedía cambiar el tamaño de la caja de impacto con la configuración de NPC.
- Barriles de lanzamiento: Corregida la trayectoria de los personajes basados en Luigi.
- Barriles de lanzamiento: Se ha aumentado el límite de ajustes extra de fuerza a 99.
- Cañón Lineguided: Añadida configuración extra para permitir que el cañón genere PNJs "adjuntos". Está pensado para usarse con Dino Antorcha de Fuego u otros PNJ de nocolisión sin gravedad que tengan sentido como aditamento del cañón. No funciona con todos los PNJ.
- Cañón Lineguided: Se han añadido ajustes adicionales para configurar el sonido que se reproducirá cuando aparezca un PNJ.
- Corazón LoZ: Arreglado un problema por el que no se establecía la configuración del npc potenciador.
- Magikoopa: Mejorada la estabilidad.
- Magikoopa: Arreglado un error por el que podía aparecer encima de bloques invisibles.
- Megashroom: Arreglado un problema por el que no se establecía la configuración de los potenciadores.
- Monty Topo: Se ha corregido un error en el renderizado de los agujeros de los topos cuando estos usan un sprite diferente.
- Lakitu (SMB1 y SMW): Ahora sus NPCs aparecen a través del archivo de IA lakitu.lua. Se puede registrar una llamada de retorno onPostSpawn, para hacer que los PNJ personalizados se comporten de una determinada manera después de ser generados por un Lakitu.
- Lakitu (SMB1): El comportamiento de spawn ahora coincide con el de los lakitu de SMW, lo que significa que un lakitu amigo por defecto nunca lanzará NPCs amigos. Esto puede revertirse con la opción de configuración "inheritfriendly".
- Lineguía: Los elementos lineguiados ahora se detienen durante los mismos estados forzados que las capas en movimiento.
- Sujeción de cuerda con lineguilla: Se ha corregido un problema por el que la cuerda aparecía en la posición incorrecta al volver a entrar en la sección.
- Nube de minijuegos: Se ha corregido un error por el que la recompensa no aparecía si la última moneda se recogía demasiado tarde.
- Cabeza de enredadera mutante: ya no consume los BGO redirectores al pasar por encima de ellos.
- Cabeza de enredadera mutante: Ya no termina en las enredaderas mutantes que están en una capa oculta.
- Rueda de paletas: Se ha corregido un error por el que se bloqueaba el juego al desovar desde un generador.
- Rueda de paletas: Se han corregido errores relacionados con las ruedas de paletas ocultas.
- Interruptor de palacio: Se ha corregido un error por el que la música del nivel seguía sonando incluso después de activar el Interruptor del Palacio.
- Cambio de palacio: Ahora se sale del nivel con el estado final 8/tipo de victoria 9: Palace Switch.
- Phanto: Se ha corregido un error por el que no se podía establecer la velocidad con la configuración del PNJ.
- Phanto: Los Phantos que están configurados para perseguir al PNJ 31 (Llave SMW) ahora persiguen a Link si posee una llave.
- Phanto: Los Phantos que persiguen al NPC 134 (Bomba SMB2) ahora persiguen a Link si posee una o más.
- Phanto: Los Phantos apuñalados por la Espada de Link o una Cola de Racoon ahora serán brevemente derribados.
- Monedas emergentes: Se ha corregido un problema por el que la caja de impacto era demasiado grande para ciertos PNJ.
- Ptooie: se ha corregido un error si la configuración de velocidad máxima de la bola no está definida.
- Ptooie: se ha corregido un problema por el que Ptooie aparecía sin una bola.
- Muelles rojos: Se ha corregido un problema por el que las entidades podían colisionar con dos muelles a la vez, eliminando su velocidad horizontal.
- Muelles rojos: Ahora es posible lanzar muelles hacia arriba a los PNJ, haciendo que reboten.
- Manantiales rojos: Se ha corregido un error por el que los PNJ podían rebotar contra el techo.
- Muelles rojos: Mejorada la respuesta de rebote cuando una pila de PNJs interactúa con un muelle vertical.
- Muelles Rojos: Ahora se pueden registrar funciones de respuesta de rebote vertical y horizontal por ID de PNJ.
- Pistola Rinky: Los Rinkas del jugador ahora prefieren apuntar a los enemigos que están justo delante del jugador, lo que disminuye el riesgo de que un Rinka vuele hacia enemigos no amenazantes.
- Llave inglesa: Arreglados los efectos visuales al salir de un generador. (¡Gracias, MegaDood!)
- Tipo chisporroteante: Ya no salta en el aire.
- Pequeños interruptores: Ahora tienen una nueva opción de configuración "permanente" que, cuando es verdadera, mantiene el interruptor en lugar de destruirlo.
- Bloque Serpiente: Ahora se pausa cuando el jugador está siendo golpeado/en un estado forzado (como la mayoría de las plataformas). Se puede revertir configurando "nohitpause=true" en la configuración del NPC del Bloque Serpiente.
- Bloque Serpiente: Añadida velocidad extra.
- Bloque Serpiente: Se ha corregido un error por el que los bloques de serpiente superpuestos con un redirector y un toggler de estado al mismo tiempo se dividían en 2.
- Bloque Serpiente: Se ha corregido un error por el que los bloques de serpiente que se dividían en 2 no conservaban sus ajustes adicionales.
- Estrella SMB3: Ahora emite luz por defecto.
- Estrella SMW: Ahora emite luz por defecto.
- Chispita: Ahora emite luz por defecto.
- Starman: Ahora se usa directamente la configuración, lo que permite modificarla más fácilmente a mitad de nivel.
- Starman: se ha corregido un error por el que la música de Starman seguía sonando aunque el jugador muriera (por ejemplo, al caer en un pozo).
- Moneda estrella: Ahora se pueden recoger con conchas. Se puede revertir mediante la configuración shellcollectable=false.
- Moneda estrella: Ahora se puede soltar con un bloque POW. Puede ser revertido con nopowblock = true y noblockcollision = true
- Moneda estelar: Recolectarla ahora siempre mata al PNJ.
- Estiramiento: Arreglado que la configuración nowaterphysics no se estableciera.
- Tantrunt: Mejoradas las interacciones con los parachoques y los muelles rojos.
- Tantrunt: Arreglado un fallo relacionado con la rotura de bloques.
- Elevador de inclinación: Ahora se detiene durante el encendido/apagado.
- Torpedo Ted Spawner: Ahora es un contenedor.
- Thwomps: Thwomp ID 437 ahora usa efecto de muerte ID 307 en vez de efecto de muerte ID 98.
- Thwomps: Ahora pueden registrar interacciones NPC personalizadas. Actualmente usado por Twister, Chain Chomp's Post y Small Switches.
- Thwomps: Ya no se deslizan infinitamente tras entrar en contacto con las cintas transportadoras. Se puede revertir con la nueva configuración "revertslidepatch".
- Trouter, Delfín, Podoboo: Corregidas configuraciones de NPCs para otras direcciones que no funcionaban o funcionaban incorrectamente.
- Van de Graf: Debido a que sus parámetros rompen las reglas de interacción de los enemigos eléctricos, ha sido movido a ID 719. Sus tipos de daño coinciden ahora con los del Espinoso cargado.
- Van de Graf: El espacio que antes ocupaba Van de Graf lo ocupa ahora el nuevo PNJ Weiersgraf, que actúa igual que el antiguo Van de Graf pero no emite luz por defecto.
- Waddle Doo: Añadidos ajustes adicionales para anular el tiempo de paseo y el tiempo de paseo inicial.
- Wiggler: Mejorado el comportamiento de movimiento de Wiggler en plataformas.
- Wiggler: Los Wigglers ya no morirán al ser lanzados o generados por proyectiles.
- Wiggler: Se ha añadido la opción "dieswhenthrown" para restaurar el antiguo comportamiento de muerte por lanzamiento.
Configuración NPC
- Fijo npcblocktop erróneamente siendo cierto para: Bloqueo de giro de ruptura SMW. Bloque de serpiente, pinchos, NSMB Rotating Bill Blasters, Pequeño y Palacio Interruptores.
- Global: terminalvelocity - Por defecto a 8. Puede cambiarse para establecer un tope diferente para la velocidad vertical descendente.
- Global: standsonclowncar - Si es true, el PNJ permanecerá en un Coche Payaso montado.
- Global: iselectric - Si es true, el PNJ es marcado como eléctrico. Esto no tiene ningún efecto en el juego base, pero podría ser usado por código personalizado para interacciones especiales. Se aplica a Bala de cañón eléctrica, Espina cargada, Van de Graf, Rayo de Waddle Doo, Chispa y Rayo de Sumo Bros.
- Global: istoad - Si es verdadero, el PNJ se comporta como un Sapo. Esto hace que genere un efecto seta al ser aplastado. Si se establece como isinteractable, el PNJ también será consumible y otorgará un potenciador Champiñón.
- Global: peso - Un número para determinar el peso de un PNJ
- Global: Deprecated isheavy - Sigue funcionando, pero es menos flexible que la nueva configuración de peso.
- Global: nopowblock - Evita que el PNJ se vea afectado por los nuevos efectos de bloqueo de POW introducidos en este parche.
- Global: nowalldeath. Evita que el PNJ muera cuando se sujeta y suelta junto a una pared.
- Ahora usado por: Baby Yoshi, Parachoques, Interruptor Pequeño, Interruptor Palacio, Muelles Rojos, Monitores Sónicos, Starman, Megashroom, Enredaderas Mutantes, varias Plataformas, Pinchos, Pájaros, Rotating Bill Blasters, Cajas, Delfines y NPCs amistosos.
- Global: isstationary. Ralentiza gradualmente al PNJ, como se mueven los bloques de champiñón y las llaves.
- Global: useclearpipe. Si es true, el NPC puede entrar en clear pipes.
- Global: clearpipegroup. Registra el NPC en uno de los varios grupos de interacción clear pipe. Los actualmente soportados son: "bolas de fuego", "bolas de hielo" y "bloques de hielo". Las interacciones determinan la muerte y la transformación del ID en la colisión, reflejando lo que ocurriría si una bola de hielo golpeara a un Goomba fuera de una tubería transparente.
- Global: velocidad terminal. Permite establecer la velocidad máxima hacia abajo del PNJ. Si es 0, usará la velocidad por defecto, y si es negativa no habrá límite.
- Global: resbaladizo. Si es true, este playerblocktop npc será tratado como suelo resbaladizo.
- Bebé Yoshi (Morado): Añadido powtype, powradius (por defecto "SMW" y 150, causando que la explosión sea de menor alcance que antes. Usa "legacy" para el comportamiento antiguo).
- Círculo Boo: Corregido el flag de configuración "bootypes".
- Bros (Martillo, Bumerán, Trineo): Añadido jumptimerange - Un número de frames que pueden ser añadidos al retardo del salto. Para acomodar, jumpframes 'por defecto se ha reducido en 60 para los tres. (Por defecto: 60).
- Plataforma flotante: Se han añadido "liquidoffsettop" y "liquidoffsetbottom", que determinan el rango desde la parte superior de la caja de golpeo en el que se comprueba la flotabilidad. Por defecto -8 y 24.
- Escarabajos Buster: Añadido "friendlythrow" config flag (booleano). Si es true, un buster beetle amigo seguirá lanzando a su npc retenido.
- Dino Antorcha de Fuego: Añadidos conjuntos de frames - Dino Torch Fire ahora se define como teniendo 2 frames, en lugar de 8, con 4 conjuntos de frames. La animación recorre todos los fotogramas de un conjunto de fotogramas a la vez. El Dino Antorcha de Fuego es dañino para el jugador cuando alcanza el último cuadro.
- Dino Antorcha de Fuego: Duración añadida - La duración total del fuego de la antorcha de dinosaurio. La velocidad de la animación de extensión/retracción intenta ajustarse al valor de la velocidad de fotogramas, pero puede acelerarse durante breves periodos de tiempo si, de otro modo, nunca tendría tiempo de extenderse por completo.
- Dino Antorcha de Fuego: Ahora es un npc con framestyle=1 por defecto. La hoja de sprites ha sido actualizada. Establece framestyle=0 para revertir.
- Bloques Donut: Añadido triggerweight - El peso mínimo necesario para que el bloque donut caiga. Por defecto es 1
- Bloques donut: Añadido ignoreplayers - Si es true, los jugadores no pueden hacer caer el bloque donut.
- Bloques donut: Añadido ignorenpcs - Si es true, los NPCs no pueden provocar la caída del bloque donut.
- Bloques de donuts: Un valor negativo en la configuración de enfriamiento evita que el donut reaparezca en un temporizador.
- Bomberos: Añadido lowjumpheight, highjumpheight - Determina la altura de los saltos bajos y altos que pueden hacer los Fire Bros (Por defecto: 4, 6).
- Bomberos: Añadidos jumptimemin, jumptimemax - El número aleatorio de frames entre saltos pequeños. Los saltos pequeños se detienen al disparar. (Por defecto: 65, 85)
- Bomberos Bros: Añadido shoottimemin, shoottimemax - La extensión del número aleatorio de frames entre entrar en estado de disparo. El estado de disparo se estanca con pequeños saltos. (Por defecto: 135, 180)
- Fuego Bros: Añadido walktime - El número de fotogramas entre moverse hacia adelante y hacia atrás. (Por defecto: 60)
- Bomberos Bros: Añadido shotcount - El número de bolas de fuego a disparar. (Por defecto: 2. Poner a 1 para el valor antiguo)
- Bomberos Bros: Añadida shotspeedx - La velocidad x del proyectil disparado. (Por defecto: 3.5. Establecer en 3 para el valor antiguo)
- Fuego Bros: Añadido shotsound - Efecto de sonido usado al disparar
- Bomberos Bros: Añadido npcheldfirerate - Un multiplicador para la velocidad de disparo cuando es sostenido por un NPC (por defecto 0.75)
- Bolas de nieve Fliprus: Eliminado fliprusid.
- Fuzzy (SMW): Corregido un error por el que era comestible por Yoshi.
- Mareo (YI): Añadido "tiempo de mareo" como número de segundos que dura el efecto de mareo. Introduce un valor negativo para una duración infinita. (Los efectos de mareo pueden ser terminados manualmente usando el nuevo archivo AI yifuzzy.lua)
- Fuzzy (YI): Añadido "dizzystrength" como multiplicador de la intensidad del efecto mareo.
- Fuzzy (YI): Añadido "dizzytransitiontime" como número de segundos que tarda el efecto mareo en estabilizarse o finalizar.
- Pájaros voladores de Yoshi's House: Añadida la velocidad de despegue: cambia la aceleración de vuelo del pájaro.
- Lakitu (SMB1, SMW): Añadido heredaramistoso - Si es verdadero, el PNJ lanzado será amistoso si Lakitu es amistoso. Falso por defecto.
- Plataformas guiadas: Se ha ajustado el efecto del parámetro "flotabilidad" para evitar que los PNJ y los jugadores que estén sobre la plataforma se sumerjan brevemente en el agua.
- Magia Magikoopa: Se ha añadido la configuración "transformaciónN", donde N es un número que empieza por 1. Se puede utilizar como una alternativa a la configuración de transformaciones para definir los PNJ en los que se puede convertir el bloque de golpe. Por defecto, se definen las transformaciones1 a6. La opción "transformaciones" anula esta configuración y está desactivada por defecto.
- Magia Magikoopa: Se ha añadido la configuración "blocktargetN", donde N es un número a partir de 1. Se puede utilizar para definir los ID de los bloques que la magia puede transformar. Define blocktarget1=96 por defecto.
- Rueda de paletas: Añadido linecolor - El color de la línea que conecta las plataformas de la rueda. Blanco por defecto
- Rueda de paletas: Anchura de línea añadida - Anchura de la línea que conecta las plataformas de la rueda. Por defecto 1
- Phantos: Añadido "entrando desde el jugador": si está activado, los fantasmas que siguen siempre entrarán en la pantalla por el lado opuesto al del jugador al que siguen.
- Phantos: Añadida la velocidad de inicio - Un multiplicador de velocidad vertical al seguir al jugador.
- Manantiales rojos: Ahora se puede desactivar la física de lanzamiento SMW si "isstationary=true" en la configuración del npc.
- Muelles Rojos: Añadido soporte para múltiples frames y framestyle=1. La configuración "frames" se interpreta como número de frames por estado. Cada dirección tiene 3 estados: No presionado, semi presionado y presionado.
- Red Springs: Añadidas las opciones "npcforce" y "weakforce", que cuando son negativas se interpretan como un multiplicador de la "fuerza". Cuando son positivos, se toman como el valor directo de la fuerza de rebote a aplicar al npc o al jugador que no salta respectivamente. Ambos por defecto son -0.77.
- Muelles rojos: Añadida configuración "springdropcooldown". Este es el número mínimo de frames después de soltar un muelle antes de que el jugador pueda interactuar con él. Por defecto es 15, usado sólo por los muelles hacia arriba.
- Muelles rojos: Añadida configuración "usedirectiontobounce". Si es true, el muelle fuerza un rebote basado en su propia dirección, en lugar de la posición relativa. Sólo lo utilizan los muelles laterales. Por defecto true para el Muelle Rojo Estacionario SMB1.
- Snailicorn: añadido stunframes - Número de frames dedicados a la animación de daño. La animación de caminar se define así como (frames - stunframes). Por defecto es 1
- Tantrunt: añadido terremoto - Fuerza del efecto terremoto. Por defecto 0
- Tantrunt: Añadido poweffect - Activa el efecto pow. Por defecto es true
- Tantrunt: Añadido powtype, powradius (por defecto "legacy" y 600. No hay cambios en el comportamiento por defecto).
Efectos
- Se ha corregido un problema por el que las definiciones personalizadas de onTick/onDeath no funcionaban.
- Se ha corregido un problema por el que los efectos no desaparecían correctamente, lo que provocaba retrasos.
- Se han añadido los parámetros xscale e yscale a los archivos txt de efectos (por defecto: 1, puede ser un intervalo).
- El parámetro Angle ahora puede ser un rango.
Jugadores
- Todos: Player.section ya no es de sólo lectura.
- Todos: Añadido el campo climbingBGO que devuelve la valla BGO por la que se está trepando actualmente.
- Todos: noblockcollision, nonpcinteraction, noplayerinteraction - Filtran la colisión con todos los objetos del tipo específico.
- Todos: Añadidos los métodos getWeight, attachWeight y detachWeight para recuperar y manipular el peso.
- Todos: Añadidos los campos inClearPipe e inLaunchBarrel para detectar estos estados.
- Espada: Corregido el softlock del bloque de mensajes de puñalada propia.
- Broadsword: Arreglados problemas de estado de hada.
- Espada: Los saltos con puñalada hacia abajo ahora se convierten en saltos normales tras rebotar en los enemigos.
- Espada: se ha añadido broadsword.smallLimitsMoves, que se puede establecer en false para habilitar la carga, la puñalada descendente y la estocada combinada para la espada "pequeña".
- Espada: Añadido broadsword.knockbackStrength para configurar el knockback que recibe el personaje.
- Espada: Se ha añadido broadsword.extraConfig, que permite activar por separado los ajustes stallWithDownRun (activa la puñalada descendente al pulsar correr mientras se mantiene pulsado durante 15 fotogramas) y stallCancelCombo (si es verdadero, el jugador puede cancelar las puñaladas descendentes con un combo de tajo completo. Si es falso, la cancelación sólo permite un tajo).
- Klonoa: Se ha corregido un error lua que se producía al intentar agarrar una burbuja vacía.
- Enlace: Corregido un error relacionado con el coche de payaso y el hada. Se puede revertir con Misc.LunaLuaSetLinkClowncarFairyFix(false).
- Mario, Luigi, Toad: Arregladas ciertas partes del código de trajes de SMW que se aplican independientemente del ID de personaje del jugador.
- Arreglado que Player:teleport siempre teletransporta al jugador 1.
- Los jugadores clonados ahora se pueden manipular con Player.keys.
Editor
- Tiempo añadido: Lluvia (Vertical)
- Añadido tiempo: Lluvia de estrellas
- Tiempo añadido: Brisa de arena
- Tiempo añadido: Polvo
- Añadido un campo para cambiar la prioridad de renderizado de un efecto meteorológico/pantalla.
- Añadidos campos para voltear un efecto meteorológico horizontal/verticalmente.
- Las secciones ahora pueden tener climas personalizados.
- Añadido efecto de pantalla: Aurora
- Añadido efecto de pantalla: Rayos de luz
- Añadido efecto de pantalla: Retro
- Efecto de pantalla añadido: Sueño
- Efecto de pantalla renovado: Cáusticas (antiguo efecto disponible como "Cáusticas simples")
- Efecto de pantalla renovado: Submarino (antiguo efecto disponible como "Submarino simple")
- Algunos efectos de pantalla disponen ahora de parámetros para modificarlos.
- Ajustes de nivel: Ahora es una ventana acoplable a la que se accede desde la barra de botones superior (icono de castillo).
- Ajustes de nivel: Añadida nueva sección para forzar el personaje del jugador y el traje
- Ajustes extra: Ahora soporta el nuevo tipo listGroup, permitiendo añadir una lista de elementos definidos. Nota: Actualmente estas listas siempre están vacías por defecto.
- Diálogo de edición de mensajes: Se ha renovado la apariencia del diálogo. Ahora muestra un campo de entrada de texto simple y una vista previa de diálogo SMBX vanilla independiente.
- Cuadro de elementos de conjunto de mosaicos: Ahora los conjuntos de mosaicos pueden incluir cualquier combinación de tipos de objetos.
- Cuadro de elementos del conjunto de mosaicos: Puedes "marcar como favoritos" elementos individuales en la caja de elementos del tileset, haciendo que aparezcan en la pestaña "Personalizado" del nuevo tileset Favoritos.
- Cuadro de elementos del conjunto de mosaicos: Ahora puedes buscar cualquier elemento en el cuadro de elementos del conjunto de mosaicos por su nombre, ID o descripción.
- Caja de elementos del conjunto de mosaicos: Ahora puedes hacer clic con el botón derecho en los elementos de la caja de elementos del conjunto de mosaicos para copiar sus gráficos en tus carpetas personalizadas, igual que con la caja de elementos de nivel.
- Caja de elementos de mosaico: Los tilesets del mapa del mundo ya no aparecen en los niveles. Los tilesets de nivel ya no aparecen en el mapa del mundo.
- Tileset Itembox: Ajustado tileset diseños.
- Tileset Itembox: Se han ajustado los colores para que se vean mejor en los diferentes temas del editor.
- Editor de mosaicos: Se ha ajustado la interfaz de usuario para mejorar el flujo de trabajo.
- Editor de mosaicos: La búsqueda ahora busca automáticamente el nombre y el ID.
- Editor de tilesets: Los nuevos tilesets se crean en tamaño 5x5.
- Editor de tilesets: Ahora puedes guardar un tileset como un tileset global, haciendo que aparezca independientemente del nivel o episodio.
- Colocación: Si mantienes pulsada la tecla "CTRL" mientras pintas, se desactiva el mecanismo de prevención de superposición de objetos, lo que te permite superponer bloques y BGOs para decorar tus niveles más fácilmente.
- Colocación: Ahora puedes establecer la opacidad de los tipos de objetos de nivel bloqueados a través de los ajustes de la aplicación.
- Colocación: Al hacer clic con el botón derecho en una capa, ahora puedes seleccionar todos los elementos no bloqueados de esa capa.
- Colocación: La colocación de elementos de nivel/trayectoria en el editor de mapas ahora te avisa si se solapan.
- Ajustes de sección: Al pulsar el botón "Crear personalizado" junto al fondo seleccionado en Ajustes de sección, ahora se copia el fondo del juego base, en lugar de una plantilla vacía.
- Barra de herramientas: Se ha hecho más modular la barra de herramientas del editor (botones superiores) dividiéndolos en más grupos.
- Barra de herramientas: Sustituidas las opciones de alineación de la rejilla por un único botón para seleccionar el tamaño de rejilla deseado a través de un menú contextual.
- Barra de herramientas: Debido a problemas de rendimiento, el estado por defecto de las animaciones del editor se ha cambiado temporalmente a "desactivado".
- Barra de herramientas: Los botones de sección tienen ahora un icono diferente dependiendo de si una sección está inicializada o no.
- Selección de música: Se ha añadido un cuadro de búsqueda.
- Carga de niveles: Para evitar cancelaciones accidentales, el botón "Abortar" se ha convertido en el botón de cierre de la ventana.
Script
- Añadidos eventos onWarp(warp, jugador), onWarpEnter(evento, warp, jugador), y onPostWarpEnter(warp, jugador).
NOTA: onWarpEnter es antes de que el warp ocurra y puede ser cancelado. onPostWarpEnter es también antes de que el warp ocurra, pero sólo si no fue cancelado. onWarp es después de que el warp termina.
- Añadidos eventos onNPCCollect(evento, npc, jugador) y onPostNPCCollect(npc, jugador).
NOTA: onNPCCollect es antes de que el NPC sea recogido y puede ser cancelado. onPostNPCCollect es también antes, pero sólo si no fue cancelado. Esto también deja obsoleto npcManager.collected.
- Añadidos los eventos onBlockRemove(evento, bloque) y onPostBlockRemove(bloque).
NOTA: onBlockRemove es antes de que el bloque sea eliminado o borrado y puede ser cancelado. onPostBlockRemove es también antes, pero sólo si no ha sido cancelado.
- Añadidos los eventos onPOW(evento) y onPostPOW().
NOTA: onPOW es anterior al efecto 'pow' y puede ser cancelado. onPostPOW también es anterior, pero sólo si no ha sido cancelado.
- Añadido el evento onBeatWarn(beepsLeft) para los bloques parpadeantes.
- Añadido el evento onSectionChange(sectionIdx, playerIdx) que se invoca cuando cambia la sección de un jugador.
- Añadidos los eventos onControllerButtonRelease, onKeyboardKeyPress y onKeyboardKeyRelease.
- Añadido onNPCTransform(npc, oldId, reason) cuando cambia el ID de un NPC.
- Añadidos onMouseButtonEvent(button, state, x, y) y onMouseWheelEvent(wheelAxis, delta, x, y) para obtener entradas del ratón.
- Añadido getCursorPosition() (devuelve 2 valores para x e y en el espacio del framebuffer, así que NaN si el ratón está fuera de la ventana) y setCursor(image, xHotspot, yHotspot) para el posicionamiento y visibilidad del cursor (nil restablece el valor por defecto, false oculta).
- Añadidos eventos onNPCPOWHit(evento, npc, powtype), onPostNPCPOWHit(npc, powtype), onBlockPOWHit(evento, bloque, powtype) y onPostBlockPOWHit(bloque powtype).
NOTA: Todos estos eventos ocurren durante un efecto POW después de onPOW y onPostPOW. Estas funciones son llamadas cuando un bloque o NPC esta siendo golpeado por un efecto POW. Las versiones "Post" de estas funciones sólo ocurren si el evento no ha sido cancelado.
- Añadido Block:hitWithoutPlayer, para golpear un bloque sin tener un jugador como culpable.
NOTA: Aunque se invoque a Block:hit sin jugador, se aplicará por defecto al primer jugador.
- Añadido Block:bump, para activar la animación bump sin golpear. Ten en cuenta que esto golpeará cualquier cosa que esté encima del bloque.
- Se ha añadido Block:setSize, que establece la anchura/altura del bloque al mismo tiempo que establece correctamente el indicador de matriz de bloques sin ordenar.
- Añadida la llamada NPC:collect(player), para forzar que un NPC coleccionable sea recogido por un jugador. El argumento jugador es opcional y si no se especifica será el jugador 1.
- Añadido Checkpoint.getActiveIndex() que devuelve -1 si no se recoge ningún punto de control.
- Corregido que Block:transform no establecía el indicador de matriz de bloques sin ordenar cuando era necesario, causando a veces problemas de colisión.
- Se ha corregido el error de onKeyboardPressDirect.
- Añadido Audio.MusicRewind() - Rebobina la pista actual al principio.
- Añadido Audio.MusicGetInstChannelCount() - Obtiene el número de canales de instrumento en la pista actual (archivos tracker)
- Añadido Audio.MusicInstChannelMute(id) - Silencia el canal de instrumento con el índice id (archivos de seguimiento)
-Añadido Audio.MusicInstChannelUnmute(id) - Desactiva el canal de instrumento con el índice id (archivos de tracker)
- Añadido Audio.MusicGetTempo() - Obtiene el tempo de la pista actual, -1 si no es compatible
-Añadido Audio.MusicSetTempo(val) - Establece el tempo de la pista actual
- Añadido Audio.MusicGetPitch() - Obtiene el tono de la pista actual, -1 si no es compatible
- Añadido Audio.MusicSetPitch(val) - Establece el tono de la pista actual
- Añadido Audio.MusicGetSpeed() - Obtiene la velocidad de la pista actual, -1 si no está soportada
- Añadido Audio.MusicSetSpeed(val) - Establece la velocidad de la pista actual (también admite OGG)
- Añadido Audio.MixedSFXVolume() para establecer y obtener el volumen general de los efectos de sonido (incluyendo los emitidos por legacy-smbx).
- Ampliado Audio.MusicChange con parámetros adicionales. Ejemplo: Audio.MusicChange(0, "_OST/File Select.ogg|m1;c1;r11"). m1 = activa el soporte multipista; c1 = el número de canales (máximo 8); r11 = el número de pistas (11 aquí significa 11 canales mono)
- Corregido un error dependiente del ordenador en Audio.MusicClock()
- Añadido Graphics.redirectCameraFB(framebuffer, startPriority, endPriority) para mover el renderizado de la cámara a otro framebuffer para un rango de prioridad específico.
- Se ha añadido Graphics.getMainFramebufferSize() que devuelve el tamaño del framebuffer principal.
- Se ha añadido Graphics.setMainFramebufferSize(width, height) que permite redimensionar el framebuffer principal.
- Añadido el evento onFramebufferResize(width, height).
- Añadido LegacyRNG.generateNumber(), LegacyRNG.getLastGeneratedNumber(), y LegacyRNG.seed para manipular código dependiente de SMBX 1.3 RNG.
- Corregidos los casos extremos relacionados con Yoshi para Layer.isPaused().
- Añadido el campo collisionGroup - Establecer esta variable de cadena hace que el Bloque/NPC/Player ignore la colisión con todos los demás objetos que compartan el mismo collisionGroup.
- REEMPLAZADO clearpipe NPC ID maps/groups con el useclearpipe y clearpipegroup NPC config flags. El registro a través de clearpipe.registerNPC sigue funcionando, simplemente establece el indicador de configuración NPC. Sin embargo, si accedías directamente a los mapas de ID del NPC clearpipe, debes actualizar tu código para utilizar NPC.CLEARPIPE y NPC.CLEARPIPE_MAP en su lugar.
- Los eventos de tecla de Clear Pipe utilizan ahora rawKeys en lugar de keys. Añadida una función para permitir anular una entrada desde código de usuario.
- Añadida una tabla de datos a los jugadores, similar a los NPCs y bloques.
- Añadido Defines.jumpspeed para modificar la velocidad de subida del jugador durante un salto.
- Añadido Defines.bounce_player para modificar la respuesta de rebote al rebotar en la cabeza de otro jugador.
- Se ha añadido Defines.bounce_noteblock para modificar la respuesta de rebote al rebotar en un bloque de notas.
- Se ha añadido Defines.bounce_greenspring para modificar la respuesta de rebote al rebotar en un muelle verde.
- Se ha añadido Defines.pswitch_duration para modificar la duración de un P-Switch.
- Se ha añadido Defines.npc_despawntimer para modificar la duración del temporizador de despawn de la mayoría de los NPCs.
- Añadido Defines.npc_throwfriendlytimer para modificar el tiempo durante el cual los PNJs lanzados no pueden dañar al jugador que los lanza.
- Se ha añadido Defines.npc_walkerspeed para modificar la velocidad de los PNJs con iswalker activado.
- Se ha añadido Defines.npc_mushroomspeed para modificar la velocidad de los potenciadores Champiñón.
-Se ha añadido Defines.weak_lava para permitir cambiar el comportamiento de la lava para que dañe en lugar de matar. Ten en cuenta que este modo hace que la lava sea sólida (similar a cuando se es invencible mediante trampas), y pierde 6px de margen en las colisiones superiores que tiene la lava normal.
- Añadida la variable NPC.ai6 (actúa como atajo para el offset 0x118).
- Añadida variable NPC.forcedState (actúa como atajo para el offset 0x138).
- Añadida variable NPC.forcedCounter1 (actúa como un atajo para el offset 0x13C).
- Añadida variable NPC.forcedCounter2 (actúa como un atajo para el offset 0x144).
- Añadida variable NPC.heldIndex/NPC.heldPlayer (actúa como atajo para el offset 0x12C).
- Añadida variable NPC.isProjectile (actúa como atajo para el offset 0x136).
- Añadidas constantes NPCFORCEDSTATE.
- Se agregaron constantes POWERUP, como alias de las constantes PLAYER.
- Se agregaron Shader.fromSource y Shader.fromFile para simplificar la creación y compilación de objetos Shader.
- Se agregó soporte para SFX.listener para aceptar valores entre 0 y 1 para combinar la posición de escucha entre la ubicación del reproductor (0) y el centro de la cámara (1).
- Se agregó soporte para textplus.print para aceptar etiquetas personalizadas a través de argumentos customTags y autoTagList.
- Se agregó la etiqueta <i> a textplus, lo que permite texto en cursiva.
- Se agregó soporte para funciones io para leer y escribir archivos binarios.
- Se agregaron math.fract, math.wrap y math.pingpong.
- Las listas NPC.COIN, NPC.WEIGHT ya están disponibles.
- Misc.isPaused() ahora es verdadero cuando un evento desliza lentamente la cámara a su lugar.
- Misc.dialog ya no falla cuando se le llama para dibujar ffi objetos (jugadores, npcs, etc.).
- Se agregó Misc.setDialogDepth() para controlar qué tan superficiales/profundas son las impresiones de Misc.dialog y Misc.richDialog.
- Se agregaron Misc.monitor y Misc.stopMonitoring para rastrear variables en objetos personalizados con fines de depuración.
- Se agregaron las funciones setWindowTitle y Misc.setWindowIcon.
- Se agregó Misc.getLoadingFinished() para cargar scripts de pantalla.
- Se agregó Misc.isGifRecording() para verificar si el juego está grabando un gif.
- Se agregaron Misc.isFullScreen() y Misc.setFullScreen() para permitir opciones del menú de opciones para pantalla completa.
- Se agregó Misc.setBeepCount para configurar el tiempo y la cantidad de pitidos antes de un cambio de estado de bloque parpadeante.
- Misc.SetEngineTPS y las funciones relacionadas ya no afectarán la duración de los cálculos de lunatime a menos que se proporcione un segundo argumento y, de forma predeterminada, funciones como lunatime.toSeconds y lunatime.time asumirán que la velocidad de tics es la predeterminada de 15,6 ms.
- Se han agregado Misc.SetNominalTPS, Misc.SetNominalTickDuration y Misc.SetNominalSpeed, que ajustan la tasa de ticks de los cálculos de la hora lunar únicamente. La tasa de tick nominal no debe modificarse después de que comience el nivel, ya que podría alterar los cálculos de tiempo.
- Misc.SetEngineTPS y funciones relacionadas ahora aceptan un segundo argumento. Al proporcionar verdadero como segundo argumento, también se ajustará la tasa de ticks nominal para que coincida con la tasa de ticks del motor. Esto sólo debe hacerse si la tasa de ticks se establece al comienzo del juego.
- Se corrigió un error por el cual los Vector2 no se convertían correctamente a Vector4 cuando se lanzaban.
- Misc.doPOW ahora acepta argumentos adicionales para powtype y radio. El valor predeterminado es el comportamiento anterior.
- Se agregó prácticocam.trauma para un efecto más elegante similar al de un terremoto, y prácticocam.rotacionalTrauma para una sacudida únicamente rotacional.
- coins.lua (anteriormente anothercurrency.lua) se puede utilizar para agregar diferentes tipos de dinero a tus niveles y episodios.
- lakitushop.lua se puede utilizar como un sistema de tienda de configuración rápida (admite monedas).
- Se corrigió un error por el cual player:render no mostraba los gráficos correctos bajo ciertas condiciones.
- Se corrigió un error por el cual Lua no podía acceder a los efectos debido a una codependencia.
- Se corrigió un error por el cual el campo de efectos de opacidad no tendría ningún efecto.
- Se corrigió un error por el cual llamar a Achievement:reset() causaba un error.
- Se corrigió un error en Particles donde llamar a Ribbon:Break() no funcionaba correctamente.
- Ahora es posible suministrar uniformes a Sizable.drawSizable.
Lib3d
- Se agregó lib3d.fogColor, lo que permite un efecto de niebla de distancia global. La opacidad gestiona la fuerza de la niebla.
- Se agregó USE_FOG como macro de material booleano para lib3d, para habilitar o deshabilitar la niebla global (desactivada de forma predeterminada).
- Se agregó FOG como una macro de función para lib3d, para personalizar la apariencia de la niebla global (el formato toma un único argumento de profundidad y devuelve un valor entre 0 y 1 usado para mezclar el color de la niebla en la escena).
- Se agregaron ALPHA_DITHER y lib3d.macro.ALPHA_DITHER a lib3d, lo que permite transparencia de tramado con profundidad habilitada.
- Se agregó el campo vertexdata. DepthOffset a Vertex Shaders, lo que permite que los objetos tengan su profundidad de renderizado efectiva desplazada hacia adelante o hacia atrás.
- Se agregó Camera3D:project(v), que funciona de manera idéntica a lib3d.project(cam, v).
- Se corrigió un error por el cual los sombreadores de vértices no funcionaban correctamente bajo ciertas condiciones.
- Se corrigió un error por el cual los vectores tangentes no se calculaban correctamente bajo ciertas condiciones, lo que provocaba errores de iluminación.
- Se mejoraron los planos de recorte de Lib3D para evitar errores de renderizado cuando los objetos estaban demasiado lejos de la pantalla.
- Se agregó soporte para colores de vértices .obj.
Varios
- Se corrigieron las comprobaciones de actualización para el iniciador: ahora funcionan con sitios web https.
- Las comprobaciones de actualización de episodios ahora ya no aparecen en ventanas emergentes, sino que muestran una notificación de banner, como el banner de SMBX2.
- Los números de versión de los episodios ahora son visibles en el iniciador.
- La función de alternancia de timer.lua se ha dividido en 2 funciones: aunque la alternancia no ha cambiado, ahora se recomienda usarla sin argumentos. Para aplicar un estado activo del temporizador, utilice el nuevo timer.setActive(activeValue)
- Se agregó una bandera de orgullo a la pantalla de carga. ¡Derechos LGBTQIA+!
- Se corrigió un error por el cual el visor de código activo (F2) no se mostraba correctamente.
- Se corrigió un error por el cual los Quaternions no se deserializaban correctamente cuando se guardaban en un archivo usando serializer.lua.
- Se corrigió un error por el cual los efectos de Oscuridad causaban un bloqueo en el modo multijugador bajo ciertas condiciones.
- Todas las luces de oscuridad ahora admiten un campo de radio mínimo.
- Se corrigió un error por el cual las colisiones entre colisionadores Rect y Tri colisionadores causaban un error.
- Se corrigió un error por el cual algunos NPC coleccionables, en casos raros, desaparecían al tocarlos en lugar de recolectarse correctamente.
- Mejoras en la carpeta _templates y las descripciones del editor.
- Las deformaciones de portal ahora terminan el nivel con la bandera de victoria de Salida de deformación.
- La fuente Textplus 1 ahora presenta un juego de caracteres completo.
- Se corrigió un error relacionado con la captura con un búfer de captura durante un fotograma omitido.
- La clase de fondo se puede usar ahora en lugar de cargar paralx2 y acceder a la información de fondo del nivel.
- Se agregó verletrope como una nueva biblioteca estándar para simular la física de la cuerda verlet (utilizada por Chain Chomps).
- Versión actualizada de SDL2 y SDL Mixer X.
- Se agregó un intervalo de fotograma de hilo de renderizado al generador de perfiles.
Los cambios resaltados en rojo pueden afectar al comportamiento de los niveles creados anteriormente.
SMBX2 Beta 5 (2024-02-04)
Peso
- Añadido un nuevo sistema de peso para distinguir la pesadez de jugadores y NPCs.
- Añadida nueva bandera de configuración NPC: "peso" (numero)
- Bandera de configuración NPC obsoleta: "isheavy" (booleano)
- Los NPCs que antes usaban la configuración "isheavy" ahora usan "weight".
- Si isheavy está activado pero weight no, weight por defecto es 2.
- isheavy es siempre verdadero cuando el peso de un PNJ no es cero.
- Los bloques frágiles y los bloques donut utilizan ahora el peso en lugar de isheavy para determinar si su comportamiento de colisión debe producirse.
- Se han añadido nuevos indicadores de configuración de bloque/PNJ para los bloques frágiles y los bloques donut: ignorarjugadores, ignorarpnjs, activarpeso. Por defecto son false, false y 1 respectivamente.
- Los jugadores ahora tienen un peso de 2, y un peso de 10 mientras están mega.
- El peso de los jugadores y el de los NPCs que los sostienen se suman.
- Los jugadores y NPCs ahora tienen métodos getWeight(), attachWeight() y detachWeight() para alterar su peso sobre la marcha. Para más información, consulta sus respectivas páginas de documentación.
Bloques
- Añadido: Bloques Bombardeables, en tamaños pequeño y grande, que sólo pueden ser destruidos por explosiones y bloques POW.
- Añadido: Taludes Sólidos Invisibles, 45° y 25°.
- Añadido: Bloques Dirigibles extendidos SMB3
- Añadido: Ladrillo del Castillo de Bowser de SMW
- Añadido: Semisólidos y Taludes sincronizados
- Añadido: Extensiones de tuberías de SMW y SMB3
- Añadido: Pendientes de tronco de torre de SMB2
- Añadido: Escaleras de la Casa Fantasma de SMW
- Añadido: Pendientes de paso de jugador/li>
- Bloques parpadeantes: El estado de los bloques parpadeantes se define ahora como un número. Es posible añadir más estados de bloques parpadeantes que los dos por defecto.
- Despejar Tuberías: Si un PNJ ha sido disparado por un cañón de tubería transparente, ahora emergerá en el estado "Proyectil" por defecto. Este comportamiento puede desactivarse estableciendo clearpipeNPC.revertCannonNPCProjectile en true.
- Despejar tuberías: La activación de una salida fuera de pantalla ahora finaliza correctamente el nivel con el tipo de victoria Salida fuera de pantalla.
- Despejar tuberías: Ya no se juega con Defines.player_runspeed, haciéndolos consistentes en multijugador.
- Tuberías transparentes: Si un PNJ ha sido disparado por un cañón de tubería transparente, ahora emergerá en el estado "Proyectil" por defecto. Este comportamiento puede desactivarse estableciendo clearpipeNPC.revertCannonNPCProjectile en true.
- Despejar tuberías: La activación de una salida fuera de pantalla ahora finaliza correctamente el nivel con el tipo de victoria Salida fuera de pantalla.
- Despejar tuberías: Ya no se juega con Defines.player_runspeed, haciéndolos consistentes en multijugador.
- Bloque Traje: Añadidos ajustes adicionales para forzar el bloque a establecer un traje específico.
- onCollideBlock: Dividir onCollideBlock en onCollideBlock y onIntersectBlock. Este último puede ser activado por NPCs que no colisionan con bloques.
- onCollideBlock: Los bloques elementales y 1f0 utilizan ahora onIntersectBlock. Los bloques de hoja frágil siguen usando onCollideBlock.
- onCollideBlock, onIntersectBlock: Se ha mejorado el rendimiento de un gran número de bloques que utilizan estas funciones estando presentes en un nivel o en pantalla.
- onCollideBlock, onIntersectBlock: Añadida una función a través de la cual los NPCs pueden añadir sus propias funciones de colisión personalizadas. Comprueba burner.lua para una implementación.
- 1f0 (Bloque deslizante): Se ha corregido un error por el que no era posible que los PNJ entraran en pequeños huecos exactamente a la altura de su hitbox al transferirse de 1f0 a un saliente. Esta corrección se puede desactivar cargando glidingblock.lua y poniendo glidingblock.undoLedgeFix a true antes de onStart.
- 1f0 (Bloque de deslizamiento): Ahora se pueden registrar los manejadores onGlide y onRelease para personalizar el comportamiento de planeo. Utilizado por Thwomps para corregir un error de salto giratorio al utilizar el planeo tanooki.
- Bloque destructor de nitro: La destrucción de nitro se retrasa hasta 8 fotogramas.
- Bloque interruptor P (YI): Se han corregido problemas relacionados con la alternancia del estado activo del bloque.
- Bloque interruptor P (YI): Cambiados los sprites del estado OFF. El nuevo sprite tiene 4 cuadros por defecto y es una representación punteada del sprite del estado ON.
- Bloque de energía de reserva: Se ha corregido un error que impedía vaciar la caja de objetos de reserva si no tenía contenido.
- Bloques bomba Kirby, TNT, Nitro, Suciedad rompible, Bloque de giro rompible: Se ha reducido la velocidad del contenido de monedas que aparece al destruir el bloque.
- Bloques de limo: Añadido slime.touching al archivo AI, para comprobar fácilmente si un jugador está en contacto con un bloque de limo.
- Interruptores sincronizados: El estado sincronizado se define ahora como un número. Es posible añadir más estados sincronizados que los dos por defecto.
Configuración de bloques
- Global: Se ha corregido la interacción entre las opciones "semisólido" e "inclinación del suelo" de la configuración de bloques.
- Global: Añadido ediblebyvine - Si es true, las enredaderas mutantes pueden comerse el bloque.
- Global: Añadido walkpaststair - Si es verdadero, el jugador y los PNJ que se acerquen a este bloque de escalera (pendiente semisólida) estando en el suelo pasarán de largo en lugar de subir.
- Bloques frágiles: Peso de activación añadido: peso mínimo necesario para que el bloque se rompa.
- Bloques frágiles: Añadido ignoreplayers - Si es true, los jugadores no pueden hacer que el bloque se rompa
- Bloques frágiles: Añadido ignorenpcs - Si es true, los NPCs no pueden provocar la rotura del bloque.
Fondos
- Añadido: Muros del Castillo SMB3 (Día)
- Añadido: Muros del Castillo SMB3 (Noche)
- Añadido: SMB3 Colinas del cielo nocturno
- Añadido: SMB3 Espacio
- Añadido: SMW Capa 3 Cueva
- Añadido: SMW Capa 3 Castillo
- Añadido: SMB Playa
- Añadido: Muros del castillo SMB
- Añadido: SM Viejo Tourian
BGOs
- Añadido: Extensiones a la caja de objetos Casa Fantasma de SMW
- Añadido: Extensiones a la caja de objetos del Bosque de SMW
- Añadido: Extensiones a SMB3 Grassland itembox
- Añadido: Extensiones a la caja de SMB3 Casa
- Añadido: Extensiones a la caja de SMB3 Airship
- Añadido: Extensiones a la caja de SMB1 Castillo
- Añadido: Extensiones a la caja de objetos Agua de SMW
- Añadido: Un BGO que hace que los NPCs en una Linea Guia se detengan
- Vallas: Arreglado un bug por el que la velocidad no se aplicaba correctamente cuando un jugador trepaba por ellas (1.3 layer fence glitch).
- Guías de línea: Ahora los PNJ se desprenden de las guías de línea cuando las sujeta un jugador.
- Se ha corregido un error por el que no se aplicaban correctamente los ajustes adicionales de BGO.
NPCs
- Todos: Arreglado un error de vanilla por el que los NPCs no aparecían correctamente si no estaban completamente dentro de los límites de la sección. Se puede desactivar con Misc.SetNPCSectionFix().
- Varios: Se ha corregido un error por el que los efectos de sonido se reproducían incorrectamente al morir. También se ha corregido un error por el que los puntos de control mostraban un efecto al aparecer en ellos.
- Añadido: Boss Bass (del NPC Pack de Murphmario)
- Añadido: Luces en forma de caja y luces en forma de línea
- Añadido: Bully, Big Bully (del pack NPC de MrDoubleA)
- Añadido: Quemadores (del pack NPC de IAmPlayer)
- Añadido: Escarabajo Quemador
- Añadido: Chain Chomp (del pack NPC de MrDoubleA)
- Añadido: Clawgrip, Clawgrip's Boulder (del pack NPC de KateBulka)
- Añadido: Clear Vase (un suministro infinito de objetos enterrados)
- Añadido: Curry Nipper Plant (del NPC Pack de GtW), Salsa Nipper Plant
- Añadido: Fire Chomp (del Pack NPC de GtW)
- Añadido: Asta de Bandera. Sale del nivel con Estado Final 9/Tipo de Victoria 10: Asta de Bandera.
- Añadido: Hiding Lakitu (del NPC Pack de MrDoubleA)
- Añadido: Carámbanos (del pack NPC de IAmPlayer)
- Añadido: Jonathan, un PNJ amistoso que explota cuando silba un Whistlin' Chuck
- Añadido: Puesto de la tienda Lakitu (anteriormente característica definitoria de Wario Beta 3)
- Añadido: Plantas Piraña (del Pack NPC de MrDoubleA)
- Añadido: Vegetal Venenoso
- Añadido: Respawner (un spawner que respawns una instancia de un NPC en un retraso)
- Añadido: Bloques POW de SMB2, SMW y SMW (Rojo)
- Añadido: Cañones de Dirigible SMB3 (del Pack NPC de Lusho)
- Añadido: SMB3 Donut Blocks
- Añadido: Cinta de Meta y Orbe de Meta de SMW (del Pack NPC de MrDoubleA)
- Añadido: Variantes cuadradas del Boomper y Baby Boomper.
- Añadido: Variantes fijas del Muelle Rojo de SMW (Muelle Rojo Fijo de SMB1).0
- Añadido: Pincho, pincho de nieve, bola de pinchos y bola de pinchos de nieve de Super Mario Maker (del Pack NPC de MrDoubleA).
- Añadido: Twister de Super Mario Maker (del Pack NPC de KateBulka)
- Añadido: Plataformas oscilantes y Bola y cadena (del Pack NPC de MrDoubleA)
- Añadido: Interruptores sincronizados (reutilizables)
- Añadido: Puntería Fishbone de Super Mario Maker
- Añadido: Plataforma Numérica YI (del NPC Pack de MrDoubleA)
- Añadido: YI Egg-Plant y Eggry-Plant (variante del generador de proyectiles)
- Eliminado: Old Goal Tape
- Eliminado: Antiguos NPCs Planta Piraña
- Obsoletos: Antiguos NPCs SMB3 Donut Block
- Obsoleto: Antiguo Bloque POW
- Bebé Yoshi: Ahora puede comer bayas.
- Bebé Yoshi: Un valor de configuración de hambre por debajo de 0 ahora hace que el Bebé Yoshi nunca crezca.
- Bloopers: Añade nuevas configuraciones extra.
- Blurp (npc-232): Ya no está obsoleto.
- Boohemoth: Ahora tiene notcointransformable por defecto.
- Bolas de Bowser: Se ha corregido un error por el que a veces actuaba como si hubiera chocado contra un muro al tocar la parte superior de una pendiente.
- Bros (Martillo, Bumerán, Trineo): Su comportamiento al agarrar ahora se ajusta más al del hermano martillo de SMB1.
- Bros (Martillo, Bumerán, Trineo): Se han añadido ajustes adicionales para saltar a través de bloques y a diferentes salientes.
- Bros (Trineo): Se detiene un poco en el aire antes de golpear.
- Bros (Trineo): Solo aturde a los jugadores si están visibles en la misma pantalla.
- Bros Bumeranes: Ajustado el comportamiento de lanzamiento para que sea consistente al lanzarlo.
- Bros Bumeranes: Arreglado un error por el que la configuración de velocidad no funcionaba correctamente.
- Bullet Bill Spawner: Añadido un ajuste extra para cambiar el comportamiento de selección de lado cuando se generan NPCs.
- Bumpers: Ajustada la lógica de rebote, disminuyendo la posibilidad de rebotes en direcciones erróneas (especialmente cuando se coloca una línea de bumpers cuadrados como puente).
- Parachoques: Ahora se pueden registrar controladores de dirección personalizados por ID.
- Escarabajos: Ahora se pueden registrar casos especiales de lanzamiento para cualquier ID a través del archivo AI.
- Escarabajos: Ahora se pueden registrar casos especiales de recogida para cualquier ID a través del archivo AI.
- Escarabajos cazadores: Ahora pueden recoger bloques lanzados.
- Buster Beetles: La dirección de los objetos recogidos ahora es la misma que la del escarabajo.
- Escarabajos demoledores: Los objetos recogidos se mantienen ahora en el estado forzado 208, en vez de en el 5.
- Punto de control: El punto de control de la puerta SMW ya no reproduce ruido de pisotón por accidente.
- Punto de control: Añadidos ajustes extra para cambiar el potenciador y el sonido.
- Nube Drops: Corregida la falta de "nowaterphysics" config flag.
- Todos los Chucks: Se han solucionado problemas relacionados con el indicador de configuración npconhit.
- Chargin' Chucks: Arreglado un error por el que a veces actuaba como si hubiera chocado contra un muro al tocar la parte superior de una pendiente.
- Cajas: Su contenido ahora se puede definir a través de los campos de configuración adicionales individuales, en lugar de una cadena.
- Diggin' Chuck: se ha flexibilizado el algoritmo de generación en caso de que se modifiquen los proyectiles o las rocas.
- Dino Rinoceronte: Se ha corregido un error por el que a veces actuaba como si hubiera chocado contra un muro al tocar la parte superior de una pendiente.
- Dino Antorcha: La duración del aliento de fuego depende ahora de la propiedad de duración del PNJ de fuego.
- Dino Antorcha: Se ha corregido un error por el que a veces actuaba como si hubiera golpeado una pared al tocar la parte superior de una pendiente.
- Dino Antorcha de Fuego: El código de animación es más flexible. Ver sección de configuración del PNJ.
- Dino Antorcha de Fuego: Ahora usa luces de línea.
- Bloques de motor: Ajustado el código del accesorio para que genere accesorios más grandes que el motor.
- Bola de fuego enemiga: Arreglado el error "rebota" de la configuración de PNJ.
- Bola de fuego enemiga: Arreglado un error por el que a veces actuaba como si hubiera chocado contra un muro al tocar la parte superior de una pendiente.
- Bola de fuego enemiga: Ahora pasa a través de otros PNJs en lugar de dar la vuelta al golpearlos. El comportamiento anterior se puede volver a activar con la configuración "turnfromnpcs".
- Fuego Bros: Se ha ajustado la IA para que sea más parecida a la de SMB3. Se han añadido nuevas opciones de configuración de PNJ.
- Hermanos de fuego: Ahora disparan bolas de fuego incluso cuando son sostenidos por otros NPCs.
- Fishbone (npc-234): Ya no está obsoleto.
- Fliprus: Ajustado el código para soportar más fácilmente diferentes spawnids, en particular los proyectiles de SMM Spike.
- Bolas de nieve de Fliprus: Se ha ajustado el código para que otros PNJ puedan lanzarlas más fácilmente.
- Bolas de nieve de Fliprus: Se ha corregido un error por el que a veces actuaba como si hubiera golpeado una pared al tocar la parte superior de una pendiente.
- Bolas de nieve de Fliprus: Ahora se destruirán al golpear a otro PNJ en lugar de darse la vuelta. El comportamiento anterior se puede volver a activar con la configuración "turnfromnpcs".
- Aleteo: Se han sustituido los gráficos para adaptarlos a la versión SNES de Yoshi's Island, en lugar de a la versión GBA.
- PNJ voladores (Parakoopas, Paragoombas): Añadido comportamiento "Flotar en el sitio".
- Frightlight: Ahora tiene "nowaterphysics" activado por defecto.
- Burbuja de gas: Ahora tiene "nowaterphysics" activado por defecto.
- Rey Bill: Se ha corregido un error que impedía cambiar el tamaño de la caja de impacto con la configuración de NPC.
- Barriles de lanzamiento: Corregida la trayectoria de los personajes basados en Luigi.
- Barriles de lanzamiento: Se ha aumentado el límite de ajustes extra de fuerza a 99.
- Cañón Lineguided: Añadida configuración extra para permitir que el cañón genere PNJs "adjuntos". Está pensado para usarse con Dino Antorcha de Fuego u otros PNJ de nocolisión sin gravedad que tengan sentido como aditamento del cañón. No funciona con todos los PNJ.
- Cañón Lineguided: Se han añadido ajustes adicionales para configurar el sonido que se reproducirá cuando aparezca un PNJ.
- Corazón LoZ: Arreglado un problema por el que no se establecía la configuración del npc potenciador.
- Magikoopa: Mejorada la estabilidad.
- Magikoopa: Arreglado un error por el que podía aparecer encima de bloques invisibles.
- Megashroom: Arreglado un problema por el que no se establecía la configuración de los potenciadores.
- Monty Topo: Se ha corregido un error en el renderizado de los agujeros de los topos cuando estos usan un sprite diferente.
- Lakitu (SMB1 y SMW): Ahora sus NPCs aparecen a través del archivo de IA lakitu.lua. Se puede registrar una llamada de retorno onPostSpawn, para hacer que los PNJ personalizados se comporten de una determinada manera después de ser generados por un Lakitu.
- Lakitu (SMB1): El comportamiento de spawn ahora coincide con el de los lakitu de SMW, lo que significa que un lakitu amigo por defecto nunca lanzará NPCs amigos. Esto puede revertirse con la opción de configuración "inheritfriendly".
- Lineguía: Los elementos lineguiados ahora se detienen durante los mismos estados forzados que las capas en movimiento.
- Sujeción de cuerda con lineguilla: Se ha corregido un problema por el que la cuerda aparecía en la posición incorrecta al volver a entrar en la sección.
- Nube de minijuegos: Se ha corregido un error por el que la recompensa no aparecía si la última moneda se recogía demasiado tarde.
- Cabeza de enredadera mutante: ya no consume los BGO redirectores al pasar por encima de ellos.
- Cabeza de enredadera mutante: Ya no termina en las enredaderas mutantes que están en una capa oculta.
- Rueda de paletas: Se ha corregido un error por el que se bloqueaba el juego al desovar desde un generador.
- Rueda de paletas: Se han corregido errores relacionados con las ruedas de paletas ocultas.
- Interruptor de palacio: Se ha corregido un error por el que la música del nivel seguía sonando incluso después de activar el Interruptor del Palacio.
- Cambio de palacio: Ahora se sale del nivel con el estado final 8/tipo de victoria 9: Palace Switch.
- Phanto: Se ha corregido un error por el que no se podía establecer la velocidad con la configuración del PNJ.
- Phanto: Los Phantos que están configurados para perseguir al PNJ 31 (Llave SMW) ahora persiguen a Link si posee una llave.
- Phanto: Los Phantos que persiguen al NPC 134 (Bomba SMB2) ahora persiguen a Link si posee una o más.
- Phanto: Los Phantos apuñalados por la Espada de Link o una Cola de Racoon ahora serán brevemente derribados.
- Monedas emergentes: Se ha corregido un problema por el que la caja de impacto era demasiado grande para ciertos PNJ.
- Ptooie: se ha corregido un error si la configuración de velocidad máxima de la bola no está definida.
- Ptooie: se ha corregido un problema por el que Ptooie aparecía sin una bola.
- Muelles rojos: Se ha corregido un problema por el que las entidades podían colisionar con dos muelles a la vez, eliminando su velocidad horizontal.
- Muelles rojos: Ahora es posible lanzar muelles hacia arriba a los PNJ, haciendo que reboten.
- Manantiales rojos: Se ha corregido un error por el que los PNJ podían rebotar contra el techo.
- Muelles rojos: Mejorada la respuesta de rebote cuando una pila de PNJs interactúa con un muelle vertical.
- Muelles Rojos: Ahora se pueden registrar funciones de respuesta de rebote vertical y horizontal por ID de PNJ.
- Pistola Rinky: Los Rinkas del jugador ahora prefieren apuntar a los enemigos que están justo delante del jugador, lo que disminuye el riesgo de que un Rinka vuele hacia enemigos no amenazantes.
- Llave inglesa: Arreglados los efectos visuales al salir de un generador. (¡Gracias, MegaDood!)
- Tipo chisporroteante: Ya no salta en el aire.
- Pequeños interruptores: Ahora tienen una nueva opción de configuración "permanente" que, cuando es verdadera, mantiene el interruptor en lugar de destruirlo.
- Bloque Serpiente: Ahora se pausa cuando el jugador está siendo golpeado/en un estado forzado (como la mayoría de las plataformas). Se puede revertir configurando "nohitpause=true" en la configuración del NPC del Bloque Serpiente.
- Bloque Serpiente: Añadida velocidad extra.
- Bloque Serpiente: Se ha corregido un error por el que los bloques de serpiente superpuestos con un redirector y un toggler de estado al mismo tiempo se dividían en 2.
- Bloque Serpiente: Se ha corregido un error por el que los bloques de serpiente que se dividían en 2 no conservaban sus ajustes adicionales.
- Estrella SMB3: Ahora emite luz por defecto.
- Estrella SMW: Ahora emite luz por defecto.
- Chispita: Ahora emite luz por defecto.
- Starman: Ahora se usa directamente la configuración, lo que permite modificarla más fácilmente a mitad de nivel.
- Starman: se ha corregido un error por el que la música de Starman seguía sonando aunque el jugador muriera (por ejemplo, al caer en un pozo).
- Moneda estrella: Ahora se pueden recoger con conchas. Se puede revertir mediante la configuración shellcollectable=false.
- Moneda estrella: Ahora se puede soltar con un bloque POW. Puede ser revertido con nopowblock = true y noblockcollision = true
- Moneda estelar: Recolectarla ahora siempre mata al PNJ.
- Estiramiento: Arreglado que la configuración nowaterphysics no se estableciera.
- Tantrunt: Mejoradas las interacciones con los parachoques y los muelles rojos.
- Tantrunt: Arreglado un fallo relacionado con la rotura de bloques.
- Elevador de inclinación: Ahora se detiene durante el encendido/apagado.
- Torpedo Ted Spawner: Ahora es un contenedor.
- Thwomps: Thwomp ID 437 ahora usa efecto de muerte ID 307 en vez de efecto de muerte ID 98.
- Thwomps: Ahora pueden registrar interacciones NPC personalizadas. Actualmente usado por Twister, Chain Chomp's Post y Small Switches.
- Thwomps: Ya no se deslizan infinitamente tras entrar en contacto con las cintas transportadoras. Se puede revertir con la nueva configuración "revertslidepatch".
- Trouter, Delfín, Podoboo: Corregidas configuraciones de NPCs para otras direcciones que no funcionaban o funcionaban incorrectamente.
- Van de Graf: Debido a que sus parámetros rompen las reglas de interacción de los enemigos eléctricos, ha sido movido a ID 719. Sus tipos de daño coinciden ahora con los del Espinoso cargado.
- Van de Graf: El espacio que antes ocupaba Van de Graf lo ocupa ahora el nuevo PNJ Weiersgraf, que actúa igual que el antiguo Van de Graf pero no emite luz por defecto.
- Waddle Doo: Añadidos ajustes adicionales para anular el tiempo de paseo y el tiempo de paseo inicial.
- Wiggler: Mejorado el comportamiento de movimiento de Wiggler en plataformas.
- Wiggler: Los Wigglers ya no morirán al ser lanzados o generados por proyectiles.
- Wiggler: Se ha añadido la opción "dieswhenthrown" para restaurar el antiguo comportamiento de muerte por lanzamiento.
Configuración NPC
- Fijo npcblocktop erróneamente siendo cierto para: Bloqueo de giro de ruptura SMW. Bloque de serpiente, pinchos, NSMB Rotating Bill Blasters, Pequeño y Palacio Interruptores.
- Global: terminalvelocity - Por defecto a 8. Puede cambiarse para establecer un tope diferente para la velocidad vertical descendente.
- Global: standsonclowncar - Si es true, el PNJ permanecerá en un Coche Payaso montado.
- Global: iselectric - Si es true, el PNJ es marcado como eléctrico. Esto no tiene ningún efecto en el juego base, pero podría ser usado por código personalizado para interacciones especiales. Se aplica a Bala de cañón eléctrica, Espina cargada, Van de Graf, Rayo de Waddle Doo, Chispa y Rayo de Sumo Bros.
- Global: istoad - Si es verdadero, el PNJ se comporta como un Sapo. Esto hace que genere un efecto seta al ser aplastado. Si se establece como isinteractable, el PNJ también será consumible y otorgará un potenciador Champiñón.
- Global: peso - Un número para determinar el peso de un PNJ
- Global: Deprecated isheavy - Sigue funcionando, pero es menos flexible que la nueva configuración de peso.
- Global: nopowblock - Evita que el PNJ se vea afectado por los nuevos efectos de bloqueo de POW introducidos en este parche.
- Global: nowalldeath. Evita que el PNJ muera cuando se sujeta y suelta junto a una pared.
- Ahora usado por: Baby Yoshi, Parachoques, Interruptor Pequeño, Interruptor Palacio, Muelles Rojos, Monitores Sónicos, Starman, Megashroom, Enredaderas Mutantes, varias Plataformas, Pinchos, Pájaros, Rotating Bill Blasters, Cajas, Delfines y NPCs amistosos.
- Global: isstationary. Ralentiza gradualmente al PNJ, como se mueven los bloques de champiñón y las llaves.
- Global: useclearpipe. Si es true, el NPC puede entrar en clear pipes.
- Global: clearpipegroup. Registra el NPC en uno de los varios grupos de interacción clear pipe. Los actualmente soportados son: "bolas de fuego", "bolas de hielo" y "bloques de hielo". Las interacciones determinan la muerte y la transformación del ID en la colisión, reflejando lo que ocurriría si una bola de hielo golpeara a un Goomba fuera de una tubería transparente.
- Global: velocidad terminal. Permite establecer la velocidad máxima hacia abajo del PNJ. Si es 0, usará la velocidad por defecto, y si es negativa no habrá límite.
- Global: resbaladizo. Si es true, este playerblocktop npc será tratado como suelo resbaladizo.
- Bebé Yoshi (Morado): Añadido powtype, powradius (por defecto "SMW" y 150, causando que la explosión sea de menor alcance que antes. Usa "legacy" para el comportamiento antiguo).
- Círculo Boo: Corregido el flag de configuración "bootypes".
- Bros (Martillo, Bumerán, Trineo): Añadido jumptimerange - Un número de frames que pueden ser añadidos al retardo del salto. Para acomodar, jumpframes 'por defecto se ha reducido en 60 para los tres. (Por defecto: 60).
- Plataforma flotante: Se han añadido "liquidoffsettop" y "liquidoffsetbottom", que determinan el rango desde la parte superior de la caja de golpeo en el que se comprueba la flotabilidad. Por defecto -8 y 24.
- Escarabajos Buster: Añadido "friendlythrow" config flag (booleano). Si es true, un buster beetle amigo seguirá lanzando a su npc retenido.
- Dino Antorcha de Fuego: Añadidos conjuntos de frames - Dino Torch Fire ahora se define como teniendo 2 frames, en lugar de 8, con 4 conjuntos de frames. La animación recorre todos los fotogramas de un conjunto de fotogramas a la vez. El Dino Antorcha de Fuego es dañino para el jugador cuando alcanza el último cuadro.
- Dino Antorcha de Fuego: Duración añadida - La duración total del fuego de la antorcha de dinosaurio. La velocidad de la animación de extensión/retracción intenta ajustarse al valor de la velocidad de fotogramas, pero puede acelerarse durante breves periodos de tiempo si, de otro modo, nunca tendría tiempo de extenderse por completo.
- Dino Antorcha de Fuego: Ahora es un npc con framestyle=1 por defecto. La hoja de sprites ha sido actualizada. Establece framestyle=0 para revertir.
- Bloques Donut: Añadido triggerweight - El peso mínimo necesario para que el bloque donut caiga. Por defecto es 1
- Bloques donut: Añadido ignoreplayers - Si es true, los jugadores no pueden hacer caer el bloque donut.
- Bloques donut: Añadido ignorenpcs - Si es true, los NPCs no pueden provocar la caída del bloque donut.
- Bloques de donuts: Un valor negativo en la configuración de enfriamiento evita que el donut reaparezca en un temporizador.
- Bomberos: Añadido lowjumpheight, highjumpheight - Determina la altura de los saltos bajos y altos que pueden hacer los Fire Bros (Por defecto: 4, 6).
- Bomberos: Añadidos jumptimemin, jumptimemax - El número aleatorio de frames entre saltos pequeños. Los saltos pequeños se detienen al disparar. (Por defecto: 65, 85)
- Bomberos Bros: Añadido shoottimemin, shoottimemax - La extensión del número aleatorio de frames entre entrar en estado de disparo. El estado de disparo se estanca con pequeños saltos. (Por defecto: 135, 180)
- Fuego Bros: Añadido walktime - El número de fotogramas entre moverse hacia adelante y hacia atrás. (Por defecto: 60)
- Bomberos Bros: Añadido shotcount - El número de bolas de fuego a disparar. (Por defecto: 2. Poner a 1 para el valor antiguo)
- Bomberos Bros: Añadida shotspeedx - La velocidad x del proyectil disparado. (Por defecto: 3.5. Establecer en 3 para el valor antiguo)
- Fuego Bros: Añadido shotsound - Efecto de sonido usado al disparar
- Bomberos Bros: Añadido npcheldfirerate - Un multiplicador para la velocidad de disparo cuando es sostenido por un NPC (por defecto 0.75)
- Bolas de nieve Fliprus: Eliminado fliprusid.
- Fuzzy (SMW): Corregido un error por el que era comestible por Yoshi.
- Mareo (YI): Añadido "tiempo de mareo" como número de segundos que dura el efecto de mareo. Introduce un valor negativo para una duración infinita. (Los efectos de mareo pueden ser terminados manualmente usando el nuevo archivo AI yifuzzy.lua)
- Fuzzy (YI): Añadido "dizzystrength" como multiplicador de la intensidad del efecto mareo.
- Fuzzy (YI): Añadido "dizzytransitiontime" como número de segundos que tarda el efecto mareo en estabilizarse o finalizar.
- Pájaros voladores de Yoshi's House: Añadida la velocidad de despegue: cambia la aceleración de vuelo del pájaro.
- Lakitu (SMB1, SMW): Añadido heredaramistoso - Si es verdadero, el PNJ lanzado será amistoso si Lakitu es amistoso. Falso por defecto.
- Plataformas guiadas: Se ha ajustado el efecto del parámetro "flotabilidad" para evitar que los PNJ y los jugadores que estén sobre la plataforma se sumerjan brevemente en el agua.
- Magia Magikoopa: Se ha añadido la configuración "transformaciónN", donde N es un número que empieza por 1. Se puede utilizar como una alternativa a la configuración de transformaciones para definir los PNJ en los que se puede convertir el bloque de golpe. Por defecto, se definen las transformaciones1 a6. La opción "transformaciones" anula esta configuración y está desactivada por defecto.
- Magia Magikoopa: Se ha añadido la configuración "blocktargetN", donde N es un número a partir de 1. Se puede utilizar para definir los ID de los bloques que la magia puede transformar. Define blocktarget1=96 por defecto.
- Rueda de paletas: Añadido linecolor - El color de la línea que conecta las plataformas de la rueda. Blanco por defecto
- Rueda de paletas: Anchura de línea añadida - Anchura de la línea que conecta las plataformas de la rueda. Por defecto 1
- Phantos: Añadido "entrando desde el jugador": si está activado, los fantasmas que siguen siempre entrarán en la pantalla por el lado opuesto al del jugador al que siguen.
- Phantos: Añadida la velocidad de inicio - Un multiplicador de velocidad vertical al seguir al jugador.
- Manantiales rojos: Ahora se puede desactivar la física de lanzamiento SMW si "isstationary=true" en la configuración del npc.
- Muelles Rojos: Añadido soporte para múltiples frames y framestyle=1. La configuración "frames" se interpreta como número de frames por estado. Cada dirección tiene 3 estados: No presionado, semi presionado y presionado.
- Red Springs: Añadidas las opciones "npcforce" y "weakforce", que cuando son negativas se interpretan como un multiplicador de la "fuerza". Cuando son positivos, se toman como el valor directo de la fuerza de rebote a aplicar al npc o al jugador que no salta respectivamente. Ambos por defecto son -0.77.
- Muelles rojos: Añadida configuración "springdropcooldown". Este es el número mínimo de frames después de soltar un muelle antes de que el jugador pueda interactuar con él. Por defecto es 15, usado sólo por los muelles hacia arriba.
- Muelles rojos: Añadida configuración "usedirectiontobounce". Si es true, el muelle fuerza un rebote basado en su propia dirección, en lugar de la posición relativa. Sólo lo utilizan los muelles laterales. Por defecto true para el Muelle Rojo Estacionario SMB1.
- Snailicorn: añadido stunframes - Número de frames dedicados a la animación de daño. La animación de caminar se define así como (frames - stunframes). Por defecto es 1
- Tantrunt: añadido terremoto - Fuerza del efecto terremoto. Por defecto 0
- Tantrunt: Añadido poweffect - Activa el efecto pow. Por defecto es true
- Tantrunt: Añadido powtype, powradius (por defecto "legacy" y 600. No hay cambios en el comportamiento por defecto).
Efectos
- Se ha corregido un problema por el que las definiciones personalizadas de onTick/onDeath no funcionaban.
- Se ha corregido un problema por el que los efectos no desaparecían correctamente, lo que provocaba retrasos.
- Se han añadido los parámetros xscale e yscale a los archivos txt de efectos (por defecto: 1, puede ser un intervalo).
- El parámetro Angle ahora puede ser un rango.
Jugadores
- Todos: Player.section ya no es de sólo lectura.
- Todos: Añadido el campo climbingBGO que devuelve la valla BGO por la que se está trepando actualmente.
- Todos: noblockcollision, nonpcinteraction, noplayerinteraction - Filtran la colisión con todos los objetos del tipo específico.
- Todos: Añadidos los métodos getWeight, attachWeight y detachWeight para recuperar y manipular el peso.
- Todos: Añadidos los campos inClearPipe e inLaunchBarrel para detectar estos estados.
- Espada: Corregido el softlock del bloque de mensajes de puñalada propia.
- Broadsword: Arreglados problemas de estado de hada.
- Espada: Los saltos con puñalada hacia abajo ahora se convierten en saltos normales tras rebotar en los enemigos.
- Espada: se ha añadido broadsword.smallLimitsMoves, que se puede establecer en false para habilitar la carga, la puñalada descendente y la estocada combinada para la espada "pequeña".
- Espada: Añadido broadsword.knockbackStrength para configurar el knockback que recibe el personaje.
- Espada: Se ha añadido broadsword.extraConfig, que permite activar por separado los ajustes stallWithDownRun (activa la puñalada descendente al pulsar correr mientras se mantiene pulsado durante 15 fotogramas) y stallCancelCombo (si es verdadero, el jugador puede cancelar las puñaladas descendentes con un combo de tajo completo. Si es falso, la cancelación sólo permite un tajo).
- Klonoa: Se ha corregido un error lua que se producía al intentar agarrar una burbuja vacía.
- Enlace: Corregido un error relacionado con el coche de payaso y el hada. Se puede revertir con Misc.LunaLuaSetLinkClowncarFairyFix(false).
- Mario, Luigi, Toad: Arregladas ciertas partes del código de trajes de SMW que se aplican independientemente del ID de personaje del jugador.
- Arreglado que Player:teleport siempre teletransporta al jugador 1.
- Los jugadores clonados ahora se pueden manipular con Player.keys.
Editor
- Tiempo añadido: Lluvia (Vertical)
- Añadido tiempo: Lluvia de estrellas
- Tiempo añadido: Brisa de arena
- Tiempo añadido: Polvo
- Añadido un campo para cambiar la prioridad de renderizado de un efecto meteorológico/pantalla.
- Añadidos campos para voltear un efecto meteorológico horizontal/verticalmente.
- Las secciones ahora pueden tener climas personalizados.
- Añadido efecto de pantalla: Aurora
- Añadido efecto de pantalla: Rayos de luz
- Añadido efecto de pantalla: Retro
- Efecto de pantalla añadido: Sueño
- Efecto de pantalla renovado: Cáusticas (antiguo efecto disponible como "Cáusticas simples")
- Efecto de pantalla renovado: Submarino (antiguo efecto disponible como "Submarino simple")
- Algunos efectos de pantalla disponen ahora de parámetros para modificarlos.
- Ajustes de nivel: Ahora es una ventana acoplable a la que se accede desde la barra de botones superior (icono de castillo).
- Ajustes de nivel: Añadida nueva sección para forzar el personaje del jugador y el traje
- Ajustes extra: Ahora soporta el nuevo tipo listGroup, permitiendo añadir una lista de elementos definidos. Nota: Actualmente estas listas siempre están vacías por defecto.
- Diálogo de edición de mensajes: Se ha renovado la apariencia del diálogo. Ahora muestra un campo de entrada de texto simple y una vista previa de diálogo SMBX vanilla independiente.
- Cuadro de elementos de conjunto de mosaicos: Ahora los conjuntos de mosaicos pueden incluir cualquier combinación de tipos de objetos.
- Cuadro de elementos del conjunto de mosaicos: Puedes "marcar como favoritos" elementos individuales en la caja de elementos del tileset, haciendo que aparezcan en la pestaña "Personalizado" del nuevo tileset Favoritos.
- Cuadro de elementos del conjunto de mosaicos: Ahora puedes buscar cualquier elemento en el cuadro de elementos del conjunto de mosaicos por su nombre, ID o descripción.
- Caja de elementos del conjunto de mosaicos: Ahora puedes hacer clic con el botón derecho en los elementos de la caja de elementos del conjunto de mosaicos para copiar sus gráficos en tus carpetas personalizadas, igual que con la caja de elementos de nivel.
- Caja de elementos de mosaico: Los tilesets del mapa del mundo ya no aparecen en los niveles. Los tilesets de nivel ya no aparecen en el mapa del mundo.
- Tileset Itembox: Ajustado tileset diseños.
- Tileset Itembox: Se han ajustado los colores para que se vean mejor en los diferentes temas del editor.
- Editor de mosaicos: Se ha ajustado la interfaz de usuario para mejorar el flujo de trabajo.
- Editor de mosaicos: La búsqueda ahora busca automáticamente el nombre y el ID.
- Editor de tilesets: Los nuevos tilesets se crean en tamaño 5x5.
- Editor de tilesets: Ahora puedes guardar un tileset como un tileset global, haciendo que aparezca independientemente del nivel o episodio.
- Colocación: Si mantienes pulsada la tecla "CTRL" mientras pintas, se desactiva el mecanismo de prevención de superposición de objetos, lo que te permite superponer bloques y BGOs para decorar tus niveles más fácilmente.
- Colocación: Ahora puedes establecer la opacidad de los tipos de objetos de nivel bloqueados a través de los ajustes de la aplicación.
- Colocación: Al hacer clic con el botón derecho en una capa, ahora puedes seleccionar todos los elementos no bloqueados de esa capa.
- Colocación: La colocación de elementos de nivel/trayectoria en el editor de mapas ahora te avisa si se solapan.
- Ajustes de sección: Al pulsar el botón "Crear personalizado" junto al fondo seleccionado en Ajustes de sección, ahora se copia el fondo del juego base, en lugar de una plantilla vacía.
- Barra de herramientas: Se ha hecho más modular la barra de herramientas del editor (botones superiores) dividiéndolos en más grupos.
- Barra de herramientas: Sustituidas las opciones de alineación de la rejilla por un único botón para seleccionar el tamaño de rejilla deseado a través de un menú contextual.
- Barra de herramientas: Debido a problemas de rendimiento, el estado por defecto de las animaciones del editor se ha cambiado temporalmente a "desactivado".
- Barra de herramientas: Los botones de sección tienen ahora un icono diferente dependiendo de si una sección está inicializada o no.
- Selección de música: Se ha añadido un cuadro de búsqueda.
- Carga de niveles: Para evitar cancelaciones accidentales, el botón "Abortar" se ha convertido en el botón de cierre de la ventana.
Script
- Añadidos eventos onWarp(warp, jugador), onWarpEnter(evento, warp, jugador), y onPostWarpEnter(warp, jugador).
NOTA: onWarpEnter es antes de que el warp ocurra y puede ser cancelado. onPostWarpEnter es también antes de que el warp ocurra, pero sólo si no fue cancelado. onWarp es después de que el warp termina.
- Añadidos eventos onNPCCollect(evento, npc, jugador) y onPostNPCCollect(npc, jugador).
NOTA: onNPCCollect es antes de que el NPC sea recogido y puede ser cancelado. onPostNPCCollect es también antes, pero sólo si no fue cancelado. Esto también deja obsoleto npcManager.collected.
- Añadidos los eventos onBlockRemove(evento, bloque) y onPostBlockRemove(bloque).
NOTA: onBlockRemove es antes de que el bloque sea eliminado o borrado y puede ser cancelado. onPostBlockRemove es también antes, pero sólo si no ha sido cancelado.
- Añadidos los eventos onPOW(evento) y onPostPOW().
NOTA: onPOW es anterior al efecto 'pow' y puede ser cancelado. onPostPOW también es anterior, pero sólo si no ha sido cancelado.
- Añadido el evento onBeatWarn(beepsLeft) para los bloques parpadeantes.
- Añadido el evento onSectionChange(sectionIdx, playerIdx) que se invoca cuando cambia la sección de un jugador.
- Añadidos los eventos onControllerButtonRelease, onKeyboardKeyPress y onKeyboardKeyRelease.
- Añadido onNPCTransform(npc, oldId, reason) cuando cambia el ID de un NPC.
- Añadidos onMouseButtonEvent(button, state, x, y) y onMouseWheelEvent(wheelAxis, delta, x, y) para obtener entradas del ratón.
- Añadido getCursorPosition() (devuelve 2 valores para x e y en el espacio del framebuffer, así que NaN si el ratón está fuera de la ventana) y setCursor(image, xHotspot, yHotspot) para el posicionamiento y visibilidad del cursor (nil restablece el valor por defecto, false oculta).
- Añadidos eventos onNPCPOWHit(evento, npc, powtype), onPostNPCPOWHit(npc, powtype), onBlockPOWHit(evento, bloque, powtype) y onPostBlockPOWHit(bloque powtype).
NOTA: Todos estos eventos ocurren durante un efecto POW después de onPOW y onPostPOW. Estas funciones son llamadas cuando un bloque o NPC esta siendo golpeado por un efecto POW. Las versiones "Post" de estas funciones sólo ocurren si el evento no ha sido cancelado.
- Añadido Block:hitWithoutPlayer, para golpear un bloque sin tener un jugador como culpable.
NOTA: Aunque se invoque a Block:hit sin jugador, se aplicará por defecto al primer jugador.
- Añadido Block:bump, para activar la animación bump sin golpear. Ten en cuenta que esto golpeará cualquier cosa que esté encima del bloque.
- Se ha añadido Block:setSize, que establece la anchura/altura del bloque al mismo tiempo que establece correctamente el indicador de matriz de bloques sin ordenar.
- Añadida la llamada NPC:collect(player), para forzar que un NPC coleccionable sea recogido por un jugador. El argumento jugador es opcional y si no se especifica será el jugador 1.
- Añadido Checkpoint.getActiveIndex() que devuelve -1 si no se recoge ningún punto de control.
- Corregido que Block:transform no establecía el indicador de matriz de bloques sin ordenar cuando era necesario, causando a veces problemas de colisión.
- Se ha corregido el error de onKeyboardPressDirect.
- Añadido Audio.MusicRewind() - Rebobina la pista actual al principio.
- Añadido Audio.MusicGetInstChannelCount() - Obtiene el número de canales de instrumento en la pista actual (archivos tracker)
- Añadido Audio.MusicInstChannelMute(id) - Silencia el canal de instrumento con el índice id (archivos de seguimiento)
-Añadido Audio.MusicInstChannelUnmute(id) - Desactiva el canal de instrumento con el índice id (archivos de tracker)
- Añadido Audio.MusicGetTempo() - Obtiene el tempo de la pista actual, -1 si no es compatible
-Añadido Audio.MusicSetTempo(val) - Establece el tempo de la pista actual
- Añadido Audio.MusicGetPitch() - Obtiene el tono de la pista actual, -1 si no es compatible
- Añadido Audio.MusicSetPitch(val) - Establece el tono de la pista actual
- Añadido Audio.MusicGetSpeed() - Obtiene la velocidad de la pista actual, -1 si no está soportada
- Añadido Audio.MusicSetSpeed(val) - Establece la velocidad de la pista actual (también admite OGG)
- Añadido Audio.MixedSFXVolume() para establecer y obtener el volumen general de los efectos de sonido (incluyendo los emitidos por legacy-smbx).
- Ampliado Audio.MusicChange con parámetros adicionales. Ejemplo: Audio.MusicChange(0, "_OST/File Select.ogg|m1;c1;r11"). m1 = activa el soporte multipista; c1 = el número de canales (máximo 8); r11 = el número de pistas (11 aquí significa 11 canales mono)
- Corregido un error dependiente del ordenador en Audio.MusicClock()
- Añadido Graphics.redirectCameraFB(framebuffer, startPriority, endPriority) para mover el renderizado de la cámara a otro framebuffer para un rango de prioridad específico.
- Se ha añadido Graphics.getMainFramebufferSize() que devuelve el tamaño del framebuffer principal.
- Se ha añadido Graphics.setMainFramebufferSize(width, height) que permite redimensionar el framebuffer principal.
- Añadido el evento onFramebufferResize(width, height).
- Añadido LegacyRNG.generateNumber(), LegacyRNG.getLastGeneratedNumber(), y LegacyRNG.seed para manipular código dependiente de SMBX 1.3 RNG.
- Corregidos los casos extremos relacionados con Yoshi para Layer.isPaused().
- Añadido el campo collisionGroup - Establecer esta variable de cadena hace que el Bloque/NPC/Player ignore la colisión con todos los demás objetos que compartan el mismo collisionGroup.
- REEMPLAZADO clearpipe NPC ID maps/groups con el useclearpipe y clearpipegroup NPC config flags. El registro a través de clearpipe.registerNPC sigue funcionando, simplemente establece el indicador de configuración NPC. Sin embargo, si accedías directamente a los mapas de ID del NPC clearpipe, debes actualizar tu código para utilizar NPC.CLEARPIPE y NPC.CLEARPIPE_MAP en su lugar.
- Los eventos de tecla de Clear Pipe utilizan ahora rawKeys en lugar de keys. Añadida una función para permitir anular una entrada desde código de usuario.
- Añadida una tabla de datos a los jugadores, similar a los NPCs y bloques.
- Añadido Defines.jumpspeed para modificar la velocidad de subida del jugador durante un salto.
- Añadido Defines.bounce_player para modificar la respuesta de rebote al rebotar en la cabeza de otro jugador.
- Se ha añadido Defines.bounce_noteblock para modificar la respuesta de rebote al rebotar en un bloque de notas.
- Se ha añadido Defines.bounce_greenspring para modificar la respuesta de rebote al rebotar en un muelle verde.
- Se ha añadido Defines.pswitch_duration para modificar la duración de un P-Switch.
- Se ha añadido Defines.npc_despawntimer para modificar la duración del temporizador de despawn de la mayoría de los NPCs.
- Añadido Defines.npc_throwfriendlytimer para modificar el tiempo durante el cual los PNJs lanzados no pueden dañar al jugador que los lanza.
- Se ha añadido Defines.npc_walkerspeed para modificar la velocidad de los PNJs con iswalker activado.
- Se ha añadido Defines.npc_mushroomspeed para modificar la velocidad de los potenciadores Champiñón.
-Se ha añadido Defines.weak_lava para permitir cambiar el comportamiento de la lava para que dañe en lugar de matar. Ten en cuenta que este modo hace que la lava sea sólida (similar a cuando se es invencible mediante trampas), y pierde 6px de margen en las colisiones superiores que tiene la lava normal.
- Añadida la variable NPC.ai6 (actúa como atajo para el offset 0x118).
- Añadida variable NPC.forcedState (actúa como atajo para el offset 0x138).
- Añadida variable NPC.forcedCounter1 (actúa como un atajo para el offset 0x13C).
- Añadida variable NPC.forcedCounter2 (actúa como un atajo para el offset 0x144).
- Añadida variable NPC.heldIndex/NPC.heldPlayer (actúa como atajo para el offset 0x12C).
- Añadida variable NPC.isProjectile (actúa como atajo para el offset 0x136).
- Añadidas constantes NPCFORCEDSTATE.
- Se agregaron constantes POWERUP, como alias de las constantes PLAYER.
- Se agregaron Shader.fromSource y Shader.fromFile para simplificar la creación y compilación de objetos Shader.
- Se agregó soporte para SFX.listener para aceptar valores entre 0 y 1 para combinar la posición de escucha entre la ubicación del reproductor (0) y el centro de la cámara (1).
- Se agregó soporte para textplus.print para aceptar etiquetas personalizadas a través de argumentos customTags y autoTagList.
- Se agregó la etiqueta <i> a textplus, lo que permite texto en cursiva.
- Se agregó soporte para funciones io para leer y escribir archivos binarios.
- Se agregaron math.fract, math.wrap y math.pingpong.
- Las listas NPC.COIN, NPC.WEIGHT ya están disponibles.
- Misc.isPaused() ahora es verdadero cuando un evento desliza lentamente la cámara a su lugar.
- Misc.dialog ya no falla cuando se le llama para dibujar ffi objetos (jugadores, npcs, etc.).
- Se agregó Misc.setDialogDepth() para controlar qué tan superficiales/profundas son las impresiones de Misc.dialog y Misc.richDialog.
- Se agregaron Misc.monitor y Misc.stopMonitoring para rastrear variables en objetos personalizados con fines de depuración.
- Se agregaron las funciones setWindowTitle y Misc.setWindowIcon.
- Se agregó Misc.getLoadingFinished() para cargar scripts de pantalla.
- Se agregó Misc.isGifRecording() para verificar si el juego está grabando un gif.
- Se agregaron Misc.isFullScreen() y Misc.setFullScreen() para permitir opciones del menú de opciones para pantalla completa.
- Se agregó Misc.setBeepCount para configurar el tiempo y la cantidad de pitidos antes de un cambio de estado de bloque parpadeante.
- Misc.SetEngineTPS y las funciones relacionadas ya no afectarán la duración de los cálculos de lunatime a menos que se proporcione un segundo argumento y, de forma predeterminada, funciones como lunatime.toSeconds y lunatime.time asumirán que la velocidad de tics es la predeterminada de 15,6 ms.
- Se han agregado Misc.SetNominalTPS, Misc.SetNominalTickDuration y Misc.SetNominalSpeed, que ajustan la tasa de ticks de los cálculos de la hora lunar únicamente. La tasa de tick nominal no debe modificarse después de que comience el nivel, ya que podría alterar los cálculos de tiempo.
- Misc.SetEngineTPS y funciones relacionadas ahora aceptan un segundo argumento. Al proporcionar verdadero como segundo argumento, también se ajustará la tasa de ticks nominal para que coincida con la tasa de ticks del motor. Esto sólo debe hacerse si la tasa de ticks se establece al comienzo del juego.
- Se corrigió un error por el cual los Vector2 no se convertían correctamente a Vector4 cuando se lanzaban.
- Misc.doPOW ahora acepta argumentos adicionales para powtype y radio. El valor predeterminado es el comportamiento anterior.
- Se agregó prácticocam.trauma para un efecto más elegante similar al de un terremoto, y prácticocam.rotacionalTrauma para una sacudida únicamente rotacional.
- coins.lua (anteriormente anothercurrency.lua) se puede utilizar para agregar diferentes tipos de dinero a tus niveles y episodios.
- lakitushop.lua se puede utilizar como un sistema de tienda de configuración rápida (admite monedas).
- Se corrigió un error por el cual player:render no mostraba los gráficos correctos bajo ciertas condiciones.
- Se corrigió un error por el cual Lua no podía acceder a los efectos debido a una codependencia.
- Se corrigió un error por el cual el campo de efectos de opacidad no tendría ningún efecto.
- Se corrigió un error por el cual llamar a Achievement:reset() causaba un error.
- Se corrigió un error en Particles donde llamar a Ribbon:Break() no funcionaba correctamente.
- Ahora es posible suministrar uniformes a Sizable.drawSizable.
Lib3d
- Se agregó lib3d.fogColor, lo que permite un efecto de niebla de distancia global. La opacidad gestiona la fuerza de la niebla.
- Se agregó USE_FOG como macro de material booleano para lib3d, para habilitar o deshabilitar la niebla global (desactivada de forma predeterminada).
- Se agregó FOG como una macro de función para lib3d, para personalizar la apariencia de la niebla global (el formato toma un único argumento de profundidad y devuelve un valor entre 0 y 1 usado para mezclar el color de la niebla en la escena).
- Se agregaron ALPHA_DITHER y lib3d.macro.ALPHA_DITHER a lib3d, lo que permite transparencia de tramado con profundidad habilitada.
- Se agregó el campo vertexdata. DepthOffset a Vertex Shaders, lo que permite que los objetos tengan su profundidad de renderizado efectiva desplazada hacia adelante o hacia atrás.
- Se agregó Camera3D:project(v), que funciona de manera idéntica a lib3d.project(cam, v).
- Se corrigió un error por el cual los sombreadores de vértices no funcionaban correctamente bajo ciertas condiciones.
- Se corrigió un error por el cual los vectores tangentes no se calculaban correctamente bajo ciertas condiciones, lo que provocaba errores de iluminación.
- Se mejoraron los planos de recorte de Lib3D para evitar errores de renderizado cuando los objetos estaban demasiado lejos de la pantalla.
- Se agregó soporte para colores de vértices .obj.
Varios
- Se corrigieron las comprobaciones de actualización para el iniciador: ahora funcionan con sitios web https.
- Las comprobaciones de actualización de episodios ahora ya no aparecen en ventanas emergentes, sino que muestran una notificación de banner, como el banner de SMBX2.
- Los números de versión de los episodios ahora son visibles en el iniciador.
- La función de alternancia de timer.lua se ha dividido en 2 funciones: aunque la alternancia no ha cambiado, ahora se recomienda usarla sin argumentos. Para aplicar un estado activo del temporizador, utilice el nuevo timer.setActive(activeValue)
- Se agregó una bandera de orgullo a la pantalla de carga. ¡Derechos LGBTQIA+!
- Se corrigió un error por el cual el visor de código activo (F2) no se mostraba correctamente.
- Se corrigió un error por el cual los Quaternions no se deserializaban correctamente cuando se guardaban en un archivo usando serializer.lua.
- Se corrigió un error por el cual los efectos de Oscuridad causaban un bloqueo en el modo multijugador bajo ciertas condiciones.
- Todas las luces de oscuridad ahora admiten un campo de radio mínimo.
- Se corrigió un error por el cual las colisiones entre colisionadores Rect y Tri colisionadores causaban un error.
- Se corrigió un error por el cual algunos NPC coleccionables, en casos raros, desaparecían al tocarlos en lugar de recolectarse correctamente.
- Mejoras en la carpeta _templates y las descripciones del editor.
- Las deformaciones de portal ahora terminan el nivel con la bandera de victoria de Salida de deformación.
- La fuente Textplus 1 ahora presenta un juego de caracteres completo.
- Se corrigió un error relacionado con la captura con un búfer de captura durante un fotograma omitido.
- La clase de fondo se puede usar ahora en lugar de cargar paralx2 y acceder a la información de fondo del nivel.
- Se agregó verletrope como una nueva biblioteca estándar para simular la física de la cuerda verlet (utilizada por Chain Chomps).
- Versión actualizada de SDL2 y SDL Mixer X.
- Se agregó un intervalo de fotograma de hilo de renderizado al generador de perfiles.