Nota: Yo no soy el autor de este recurso ni he participado en el mismo. Solo comparto el mismo a la comunidad con el permiso de Ghoulslash.
Complete FireRed Upgrade (CFRU)
Mientras el romhackeo binario parece morir lentamente, Fire Red no ha sido descompilado para que sea usable, incluso si eso llegase a pasar, los proyectos existentes serán incomplatibles ¡Este engine es la herramienta perfecta para ambas situaciones! El código fuente está escrito casi en su totalidad en C, y puede ser fácilmente adaptado para descompilaciones cuando llegue el momento, mientras tanto, será una heraamienta esencial para hack de Fire Red que busques mejorar la jugabilidad de cualquier manera.
Este proyecto es una mejora masiva para el engine de Pokémon FireRed en inglés. Incluye un engine de batalla actualizado a las últimas generaciones,incluyendo cada movimiento existente, hanilidad, objetos, IA, y más En efecto, ¡Este es el único engine existente para tercera generación con ada animación de movimiento existente!. Adicionalmente, incluye varias mejoras a las funciones del juego, como cajas del PC expandidas, una DevNav, paletas de OW dinámicas, personalización de personajes, expansión de MT/MO, Frente de Batalla, y muchas más (Puedes ver la lista de mejoras más abajo). La mayoría de las funciones del engine son fácilmente configurables simplemente comentando y removiendo comentarios de ciertas líneas. Una exhaustiva documentación ha sido escrita para explicar completamente lo que este engine es capaz de hacer y como usar todas las funciones incluídas.
Adicionalmente, la mayoría de las tablas de datos no han sido tocadas o son cargadas directamente del ROM, permitiendo que el engine pueda ser implementado en (casi) la mayoría de hacks existentes.
Si hay contribuciones tuyas y no apareces en la lista, hazlo saber a los creadores (no a mi, yo solo soy un simpleratón usuario que repostea esto
Palabras de Gold (Osea Yo )
Este proyecto es el engine definitivo para el romhacking binario (O el que se usa con herramientas y hex, para los más viejtos). Con el auge de los decomps muchos que teníamos proyectos en romhacking binario o que queremos seguir hackeando a la manera antigua nos encontramos con el problema de que todos los romhackers más experimentados se han movido a decomp, dejándonos abandonados sin nada bueno que usar más que el JPAN engine (Bugueado a más no poder), el parche de MrDollSteak (Abandonado desde el 2015 y con bugs sin correegir) o la base de Leon (Que es más una corrección de bugs al parche de MrdollSteak con unas funciones agregadas). En definitiva esta base no será superada en años, o hasta que ya no quede nadie que romhackee Fire Red de manera binaria.
Y finalmente, por lo que más quieras, NO HAGAS UN PARCHE CON ESTE ENGINE, la magia de esta base es personalizarla, hacer un parche le quita todo sentido al trabajo detrás de todos los desarrolladores. Si tienes problemas o no puedes compilarlo, pregunta en este post en vez de usar/pedir un parche de este recurso
Complete FireRed Upgrade (CFRU)
Mientras el romhackeo binario parece morir lentamente, Fire Red no ha sido descompilado para que sea usable, incluso si eso llegase a pasar, los proyectos existentes serán incomplatibles ¡Este engine es la herramienta perfecta para ambas situaciones! El código fuente está escrito casi en su totalidad en C, y puede ser fácilmente adaptado para descompilaciones cuando llegue el momento, mientras tanto, será una heraamienta esencial para hack de Fire Red que busques mejorar la jugabilidad de cualquier manera.
¿Qué es esto?
Adicionalmente, la mayoría de las tablas de datos no han sido tocadas o son cargadas directamente del ROM, permitiendo que el engine pueda ser implementado en (casi) la mayoría de hacks existentes.
Funciones
- Insercción dinámica: ¡Coge y selecciona una offset! El espacio libre puede encontrarse desde dicha offset, ¡Y todo el espacio necesario será repunteado!
- Nada de encriptación de los Pokémon: Esto facilita la manipulación de los datos de los Pokémon.
- Opciones Personalizables: Casi todas las funciones son fácilmente incluíbles/removibles mediante un simple comentario.
- Escoge entre nuevas o viejas mecánicas: La mayoría de funciones que han sido actualizadas en generaciones recientes pueden ser seleccionadas entre las viejas o nuevas mecánicas.
- Datos no alterados: La mayoría de las tablas no fueron tocadas, significando que, ¡Es compatible con (casi) todos los hacks!
excepto con el mio TnT
Funciones de Batalla
- Todos los movimientos, (Datos, animaciones, efectos) habilidades, objetos, efectos de clima, efectos de terreno, mecánicas, etc. hasta la séptima generación.
All Moves(Data/Animations/Effects) Abilities, Items, Weather effects, Terrain effects, mechanics, etc. through Gen 7 - IA mejorada enormemente con habilidades de toma de decisiones para nuevos efectos de batalla.
- Mega Evolución, Regresión Primigenia y Ultraexplosión
- Movimientos Z
- Recuadros de habilidad
- Habilidades ocultas
- Las HP boxes desaparecen cuando un movimiento se ejecuta
- Mensajes de entrenadores en batalla
- Pokéballs expandidas
- Captura crítica
- Terrenos de batalla
- Pokémon Dominantes
- Máximos nivel especificable (Hasta 255)
- Muestra de datos de movimientos des de el menú de batalla
- Muestra de tipo de Pokémon desde la barra de salud
- Entrenadores con EVs
- Música basada en clase de entrenador
- PokéBalls basas en clase de entrenador
- Backsprites de entrenadores dinámicos
- Mugshot pre-batalla personalizables
- Batallas salvajes dobles
- Multi Batallas - Batalla dos oponentes, visto por dos entrenadores, Batalla con un compañero, y más!
- Pokémon salvajes personalizados (Movimientos, Hab. oculta, variocolor, etc)
- Nuevos métodos evolutivos / Movimientos evolutivos / Evoluciones por Pokémon expandidas
- Movimientos/movesets expandidos
- Obediencia basada en medallas
- Amuleto Iris
- Niveles escalados - Niveles de Pokémon salvajes y de entrenadores escalados al nivel del Pokémon de nivel más alto de tu equipo
- Repartir Exp. / Ganancia de Exp. actualizadas
- Ganancia de Exp. al capturar un Pokémon
- Batallas inversas / Batallas aéreas
- OW voltean a verte
- Cambio de fondo de batalla
- Pokémon incapturables (Basado en una flag)
- Prevenir uso de mochila en batalla (Basado en una flag)
- Prevenir hupida en batalla (Basado en una flag)
- Captura de Pokémon de entrenadores (Basado en una flag)
- Sistema de día y noche en batalla (Sombreado de paletas, fondos dependientes de la hora, etc.)
- Movimientos que cambian de tipo con su tipo actual en pantalla de información
- Tipo hada
- ¡Y mucho más! Revisa el archivo de configuración para más información personalizable.
Otras Funciones
- Frente de Batalla/Edificios de Batalla
- Torre de Batalla mejorada. Mejoradas tiers, equipos personalizados/randomizados, batallas simples/dobles, etc.
- Recuerda-Movimientos expandido (Hasta 50 movimientos)
- Expansión de MT/MO mejorada, con MTs reusables
- Mejorada la mecánica de Recogida
- Eventos diarios/Apariciones masivas (Enjambres)
- Día/noche y reloj interno (RTC)
- Pokémon errantes
- Funciones del engine de JPAN porteadas y mejoradas
- Personalización de personajes
- Muchos specials de scripting nuevos (los mismos valores/argumentos/resultados de specials usados)
- Modificación al desmayarte con mejoras de textos
- Ejecución de scripts cada paso dado
- Podómetros extras para eventos de scripting
- ¡Y más!
- Expansión del Save-Block
- Menú con DexNav y herramientas secundarias
- Paletas de OW dinámicas
- Sistema de guardería actualziado, nivel de eclosión especificable
- Nombres de habilidades expandibles/personalizables
- Selección del PC directa / Specials para acomodación
- Pantalla de datos cíclica
- Estadísticas base en pantalla de información de la PokéDex
- USistema de repelente BW mejorado
- Sobrevivencia al envenenamiento
- Intercambio en pantalla de auto-nombrado
- HonorBalls en las Pokétiendas
- Menú start configurable
- Pokémon expandidos en Hall de la Fama
- Expandidos búfers de texto
- Bloques de triple capa
- Sporte a la Cueva Cambiante/Ruinas Sete
- Sonido de pasos en la hierba y en arena
- Saltos omnidireccionales
- Imágen de objetos al cogerlos
- Soporte de deportivas automáticas, con opciónd e correr en interiores
- Expandidas monedas del Casino (¡Hasta 999,999,999!)
- Más SafariBalls / pasos (¡Cada uno hasta 65,535!)
- Lista de multichoice desplazables
- Intercambio de objeto equipado
- Randomizador(es)
- Follow Me
- Clasificador de bolsas
- Nuevos movimientos de campo - Treparrocas, Despejar, buceo
- Amueto Iris y Amuleto Oval
- ¡Y más!
Capturas de Pantalla
GIFs
Videos
Aquí unos cuantos videos promocionales del hack Pokémon Unbound que muestra el potencial de este engine.
Instrucciones de Compilación
1. Clona o descarga el repositorio. Es altamente recomendable que clones el repositorio para que puedas obtener las actualizaciones fácilmente cuando estén disponibles. Mira los pasos 1-5 aquí para instrucciones de clonado.
2. Instrucciones de instalación se pueden encontrar en el readme del repositorio. (Lo siento, eso no lo puedo traducir :s)
Nota: Cada que hagas cambios, el compilador solo compilará los archivos que hays cambiado. Cualquier cambio a los archivos de cabezal (.h) rquerirá que uses el comando 'python scripts//clean.py build' en cmd y reejecutar el ensamblaje de scripts. para más opciones de comando, ver "Engine Scripts" en la documentación.
2. Instrucciones de instalación se pueden encontrar en el readme del repositorio. (Lo siento, eso no lo puedo traducir :s)
Nota: Cada que hagas cambios, el compilador solo compilará los archivos que hays cambiado. Cualquier cambio a los archivos de cabezal (.h) rquerirá que uses el comando 'python scripts//clean.py build' en cmd y reejecutar el ensamblaje de scripts. para más opciones de comando, ver "Engine Scripts" en la documentación.
FAQ
P: ¿Hay parche?
R: No hay un parche oficial. Eso derrumba todo el propósito del engine. Además, los usuarios de cualquier parche realizado tendrán la libertad de solo escoger las opciones de personalización predefinidas y no podrán elegir nada por sí mismos.
P: ¿Cómo puedo usar una función específica del engine sin la necesidad de instarlo todo?
R: Averigua como extraerlo por tí mismo, kbron >:c. Sin embargo, probablemente la función que buscas está conectada con otras fucniones y será un dolor en los cojones sacar todo. El engine fue diseñado para maximizar la compatibilidad con los hacks en progreso, por lo que si no funciona contigo, tu hack puede que ya esté muy avanzado (Como el mio)
P: Instalé engine, pero no puedo añadir ningún Pokémon salvaje nuevo en Advance map. ¿Qué hice mal?
R: Usa la Expansión de Pokémon DInámica para Fire Red si necesitas nuevos Pokémon.
P: ¿Qué editores debo usar con este engine?
R: Lo ideal, si usas esto y l Expansión de Pokémon DInámica, no necesitas ninguno. Cualquier dato puede ser editado directamente modificando los archivos en el engine. SI solo usas este engine, entonces G3T es la opción recomendada ¡¡¡¡NO USES PGE!!!!
P: No sé como codificar esta cosa ¡Como personalizo el engine para mi juego?
R: Hay una sección en la documentación que explica mucha sintaxis en C que te permitirá editar casi todo en el engine. La documentación tambien explica como "ignorar" movimeintos, habilidades, y objetos específicos para que no tengas que lidiar con alguna tabla generada. De lo contrario, todas las funciones personalizables deben estar en src/config.h. Más allá de ahí, necesitarás seguir algunos tutoriales de programación en C (Por ejemplo. este)
para entender como optimizar este engine para tu hack.
P: COmpilé el engine, pero no puedo ver ninguno de los nuevos onjetos o Pokémon en mi herrameinta ¿En donde están?
R: El engine no crea ningún objeto o datos de Pokémon nuevo para flexibilidad del usuario. Puedes crear los nuevos datos primero y luego editar los valorores en include/constants/items.h (lomismo con include/constants/species.h), o hacer que los datos de objetos (especies) coincidan con los valores que ya están en los cabezales.
P: Abrí mi juego en G3T, pero los nombres de habilidades están corruptas. ¿Hice algo mal?
R: No hiciste nada malo. El largo de los nombres de habilidades están expandidas como parte del engine. Para deshacer esto, abre el archivo strings/Ability_Name_Table.string y cambia la primer linea a MAX_LENGTH=12. SI compilas tras hacer esto, recibirás muchas advertencias que señalarán a ciertos textos no compilados. Modifica todas esos nombres de habilidades y reduce su largo para que quepan con el nuevo límite de 12 carácteres.
P: Si instalo el engine con los ajustes predefinidos en Fire Red virgen, ¿Jugaré a un FireRed super chachi piruli mejorado remake 100% real no fake con 50000 subs en YT garantizados?
R: La Torre Desafío en Isla Sétima no guardará ninguno de sus datos cuando guardes la partida (Si la expansión del Save-Block es usada). Puedes reemplazar la Torre Desafío por una Torre de Batalla, o remover las funciones de guardado mientras estés en la Torre Desafío.
R: No hay un parche oficial. Eso derrumba todo el propósito del engine. Además, los usuarios de cualquier parche realizado tendrán la libertad de solo escoger las opciones de personalización predefinidas y no podrán elegir nada por sí mismos.
P: ¿Cómo puedo usar una función específica del engine sin la necesidad de instarlo todo?
R: Averigua como extraerlo por tí mismo, kbron >:c. Sin embargo, probablemente la función que buscas está conectada con otras fucniones y será un dolor en los cojones sacar todo. El engine fue diseñado para maximizar la compatibilidad con los hacks en progreso, por lo que si no funciona contigo, tu hack puede que ya esté muy avanzado (Como el mio)
P: Instalé engine, pero no puedo añadir ningún Pokémon salvaje nuevo en Advance map. ¿Qué hice mal?
R: Usa la Expansión de Pokémon DInámica para Fire Red si necesitas nuevos Pokémon.
P: ¿Qué editores debo usar con este engine?
R: Lo ideal, si usas esto y l Expansión de Pokémon DInámica, no necesitas ninguno. Cualquier dato puede ser editado directamente modificando los archivos en el engine. SI solo usas este engine, entonces G3T es la opción recomendada ¡¡¡¡NO USES PGE!!!!
P: No sé como codificar esta cosa ¡Como personalizo el engine para mi juego?
R: Hay una sección en la documentación que explica mucha sintaxis en C que te permitirá editar casi todo en el engine. La documentación tambien explica como "ignorar" movimeintos, habilidades, y objetos específicos para que no tengas que lidiar con alguna tabla generada. De lo contrario, todas las funciones personalizables deben estar en src/config.h. Más allá de ahí, necesitarás seguir algunos tutoriales de programación en C (Por ejemplo. este)
para entender como optimizar este engine para tu hack.
P: COmpilé el engine, pero no puedo ver ninguno de los nuevos onjetos o Pokémon en mi herrameinta ¿En donde están?
R: El engine no crea ningún objeto o datos de Pokémon nuevo para flexibilidad del usuario. Puedes crear los nuevos datos primero y luego editar los valorores en include/constants/items.h (lomismo con include/constants/species.h), o hacer que los datos de objetos (especies) coincidan con los valores que ya están en los cabezales.
P: Abrí mi juego en G3T, pero los nombres de habilidades están corruptas. ¿Hice algo mal?
R: No hiciste nada malo. El largo de los nombres de habilidades están expandidas como parte del engine. Para deshacer esto, abre el archivo strings/Ability_Name_Table.string y cambia la primer linea a MAX_LENGTH=12. SI compilas tras hacer esto, recibirás muchas advertencias que señalarán a ciertos textos no compilados. Modifica todas esos nombres de habilidades y reduce su largo para que quepan con el nuevo límite de 12 carácteres.
P: Si instalo el engine con los ajustes predefinidos en Fire Red virgen, ¿Jugaré a un FireRed super chachi piruli mejorado remake 100% real no fake con 50000 subs en YT garantizados?
R: La Torre Desafío en Isla Sétima no guardará ninguno de sus datos cuando guardes la partida (Si la expansión del Save-Block es usada). Puedes reemplazar la Torre Desafío por una Torre de Batalla, o remover las funciones de guardado mientras estés en la Torre Desafío.
Bugs
La lista completa de bugs se puede encontrar aquí
Opciones para reportar bugs
En general,trata de ser respetuoso con los desarrolladores y el recursoo ellos te romperán las piernas (?. Ellos no pueden crear una herramienta perfectamente aplicable para cualquier hack, y por lo tanto un montón de datos se ha dejado sin modificar o es cargado directamente del ROM y muchas opciones dejadas personalizables. Esto requiere esfuerzo del usuario, e inevitablemente causará frustración entre usuarios nuevos. Ellos están dispuestos a ayudarte si tú estás dispuestoa aprender.
Opciones para reportar bugs
- Responder a este tema (No recomendado, pues no soy el autor del mismo y no he participado en la creación de este engine. Solo hago repost del mismo. Por ende no te resolveré problemas específicos del mismo)
- Contactando a Skeli o ghoulslash directlamente (Tanto en Discord como Pokecomunnity)
- Abriendo un issue request en Github
- Comentando en el server de Discord del Pokémon Unbound de Skeli directamente en el canal cfru
En general,trata de ser respetuoso con los desarrolladores y el recurso
Add-Ons Recomendados
Como ellos no han podido agregar cada función existente, han recomendado algunas funciones independientes que puedes incluir en este engine:
- Expansión de Pokémon Dinámica
- Cambio de formas in-game (Solo Arceus, Silvally, Genesect, y Giratina se incluyen en el CFRU)
- Escaleras diagonales
- Pantalla de Información de Pokémon estilo NDS
- Pantalla de Sumario de Pokémon estilo BW (recomendado para que quepan ciertas descripciones nuevas)
- Estadísticas de Naturaleza coloreadas (ver los comentarios BW Summary Screen para implementación alterna)
- Rankings de IVs (ver los comentarios BW Summary Screen para implementación alterna)
- Varios parches de música. Ver documentación para lista completa.
Créditos
- Desarrolladores primarios:
- Código:
- Pret Team - decompilaciones
- DizzyEgg - Código del Emerald Battle Engine Upgrade
- FBI - Código del DexNav, Saveblock Expansion
- Touched - Mega Evolución
- Navenatox - Paletas de OW dinámicas
- Zeturic - Arreglos varios
- JPAN - Código fuente del Hacked Engine
- azurile13 - Hab. Ocultas
- DoesntKnowHowToPlay - Código de estadísticas en pantalla de la Pokédex y entrendores con EVs
- Squeetz - Sonidos de pasos y estadísticas en pantalla de la Pokédex
- Diegoisawesome - Tiles de tres capas
- @jiangzhengwenjz – Compatibilidad con Linux
- Gráficos:
- Golche - Partículas de ataques, otros gráficos, fondos de batalla
- Lixdel - Animaciones de ataques
- Bela - PokéBalls
- Solo993/@Perro - Backsprites
- Criminon - Mega Indicadores
- canstockphoto.ca - Fondos de batalla
- Testers:
- Criminon
- @Dionen
- Gail
- Recko Juice
- Todo aquel que haya jugado Pokémon Unbound en sus etapas tempranas de la demo.
Si hay contribuciones tuyas y no apareces en la lista, hazlo saber a los creadores (no a mi, yo solo soy un simple
Palabras de Gold (Osea Yo )
Este proyecto es el engine definitivo para el romhacking binario (O el que se usa con herramientas y hex, para los más viejtos). Con el auge de los decomps muchos que teníamos proyectos en romhacking binario o que queremos seguir hackeando a la manera antigua nos encontramos con el problema de que todos los romhackers más experimentados se han movido a decomp, dejándonos abandonados sin nada bueno que usar más que el JPAN engine (Bugueado a más no poder), el parche de MrDollSteak (Abandonado desde el 2015 y con bugs sin correegir) o la base de Leon (Que es más una corrección de bugs al parche de MrdollSteak con unas funciones agregadas). En definitiva esta base no será superada en años, o hasta que ya no quede nadie que romhackee Fire Red de manera binaria.
Y finalmente, por lo que más quieras, NO HAGAS UN PARCHE CON ESTE ENGINE, la magia de esta base es personalizarla, hacer un parche le quita todo sentido al trabajo detrás de todos los desarrolladores. Si tienes problemas o no puedes compilarlo, pregunta en este post en vez de usar/pedir un parche de este recurso