Primero quiero decir que jamas me habria puesto a hacer esto, de no ser por UltimaSoul del Discord de PokeCommunity, y las notas que él escribió.
Las leí hace varias semanas y supe que tenia que darle el intento, y pese a que me tardé un poco, el resultado valió la pena.
Actualmente, los problemas a solucionar son los siguientes:
-El grito del pokémon, que desafortunadamente no está funcionando bien
-La posición del sprite en pantalla, que es una tonteria. Cuestión de jugar con las coordenadas en los archivos back_pic_table.inc y front_pic_table.inc
Creo que no me olvidé de nada, pero si alguno quiere hacer pruebas mas a fondo, adelante.
Dicho eso, pasaré a dejar todos los archivos que modifiqué y los cambios que hice en ellos, por si alguno se quiere sumar.
pokeruby\include\constants\species.h
Aqui, añadi a Chimchar en las distintas listas que presenta el archivo.
-En la primera, lo puse despues de Chimecho y le sumé 1 a la ID del Huevo Pokémon y a las IDs de las Formas Unown.
-En la segunda, lo puse despues de Chimecho normalmente.
-Y en la tercera, hice lo mismo que en la primera. Lo puse despues de Chimecho y le sumé 1 a las ID del Huevo Pokémon y las Formas Unown.
pokeruby\include\global.h
Aqui cambié el 412 en #define POKEMON_SLOTS_NUMBER 412 por un 413.
pokeruby\src\data\pokemon\base_stats.h
Aqui añadí las estadisticas base de Chimchar, justo despues de las de Chimecho.
Lo cierto es que puse las de Charmander porque todo esto lo hago a modo de prueba.
pokeruby\src\data\pokemon\cry_ids.h
Aqui añadí una entrada para Chimchar justo despues de la de Chimecho, respetando el patrón original del archivo.
pokeruby\src\data\pokemon\level_up_learnset_pointers.h
Aqui puse un pointer para el learnset de Chimchar, siguiendo el patrón que dejan las entradas anteriores y el archivo original.
pokeruby\src\data\pokemon\level_up_learnsets.h
Aqui añadí el learnset por nivel de Chimchar justo despues del de Chimecho, siguiendo el patrón que presenta el archivo.
Lo cierto es que puse el de Charmander porque todo esto lo hago a modo de prueba.
pokeruby\src\data\pokemon\tmhm_learnsets.h
Aqui añadí el learnset de MTs/MOs de Chimchar, del mismo modo que el de niveles en el anterior archivo, justo despues del de Chimecho.
Lo cierto es que puse el de Charmander porque todo esto lo hago a modo de prueba.
pokeruby\src\data\pokedex_orders.h
Aqui añadí una entrada para Chimchar en el orden alfabetico de los pokémon en la pokédex, y luego añadi la entrada por los otros ordenes siempre al final porque todo esto lo hago a modo de prueba.
pokeruby\src\data\pokedex_entries_en.h
Aquí añadí una entrada de información para Chimchar en la pokédex justo despues de la Deoxys.
Y mas abajo, una entrada con datos como la altura y tal.
pokeruby\src\data\text\species_names_en.h
Aqui pues hice lo de siempre, añadir una entrada para Chimchar despues de la de Chimecho.
pokeruby\src\birch_pc.c
Aqui podria haber añadido a Chimchar para el tema este de la evaluación del progreso de la pokédex, pero no me interesó asi que no hice nada aqui.
pokeruby\src\pokedex.c
Aqui cambié el 386 en #define NATIONAL_DEX_COUNT 386 por un 387.
Tambien hice algo que UltimaSoul no mencionó, y fue añadir un macro para el sprite de la huella de Chimchar. Lo hice siguiendo el patrón del archivo original, como con todo lo demas.
pokeruby\src\pokemon_1.c
Aqui añadí a Chimchar a los distintos ordenes de la pokédex. Lo puse:
-Despues de Celebi y en la primer lista (gSpeciesToHoennPokedexNum)
-Despues de Chimecho en la segunda (gSpeciesToNationalPokedexNum).
-Despues de Celebi en la tercera (gHoennToNationalOrder).
Basicamente lo que queria, era que Chimchar solo saliera en la Pokédex Nacional.
pokeruby\src\pokemon_3.c
Aqui reemplacé todas las instancias donde aparecia el numero 411, por un 412 que seria Chimchar.
Esto fue algo que hice quizá precipitadamente. No se si en verdad sea necesario, pero no se rompe nada y todo parece funcionar correctamente, asi que lo hice.
pokeruby\src\pokemon_icon.c
Aqui añadí un macro para el icono de Chimchar despues del de Chimecho, y mas abajo indiqué que utilizase la paleta del icono de Charmander, porque de nuevo estoy usando ese a modo de prueba.
pokeruby\include\graphics.h
Aqui añadi entradas para Chimchar en los archivos:
pokeruby\data\graphics\pokemon\back_pic_table.inc
pokeruby\data\graphics\pokemon\front_pic_table.inc
pokeruby\data\graphics\pokemon\graphics.inc
pokeruby\data\graphics\pokemon\palette_table.inc
pokeruby\data\graphics\pokemon\shiny_palette_table.inc
Como siempre, es cuestión de seguir el patrón presentado por los archivos originales.
pokeruby\graphics\pokemon
Aqui hice una carpeta donde se van a alojar los recursos visuales de chimchar. Naturalmente, la carpeta se llamará "chimchar" siguiendo la estructura de Pokeruby.
En ella, deposité: front.png, back.png, icon.png, foot print, normal.pal y shiny.pal
El resto de archivos los pueden borrar, son generados por el compilador automaticamente.
Al final del post les dejaré una pequeña herramienta para conseguir sprites y paletas en base a las laminas de sprites de 256x64 que están en PokeCommunity.
pokeruby\sound\direct_sound_data.inc
Aqui añadí una entrada para el grito de Chimchar, justo despues de la de Chimecho.
pokeruby\sound\direct_sound_samples\cries
Aqui lo que hice fue copiar los archivos cry_charmander.aif y cry_charmander.bin y renombrar las copias como cry_chimchar.aif y cry_chimchar.bin
El grito del pokémon desafortunadamente no está funcionando bien.
Es uno de los problemas a solucionar.
El resultado es el siguiente, damas y caballeros.
Bonus
Repositorio en GitHub con los archivos modificados.
Recuerden que Ctrl+F/barra de busqueda "chimchar" es su amigo.
Actualización: Archivo pokeruby\sound\voice_groups.inc para que el grito de Charmander-Chimchar funcione correctamente.
Actualización 2: Reemplazado el grito de Charmander por el de Chimchar.
Actualización 3: Corregidas las coordenadas del front sprite de Chimchar. El back sprite no lo necesita.
Aseriestodis.
Herramienta creada por Gamer2020 para convertir las laminas de sprites de 256x64 pixeles creadas en PokeCommunity, al formato de sprites usado por los proyectos de desensamblaje y decompilación.
Pues dicho y hecho todo echo, el principal problema que no tengo idea de como arreglar es, como dije 2 veces ahi arriba, el grito.
Si, le puse el de Charmander, pero el hecho es que no suena al grito de Charmander.
Yo creo que añadir una ID para Chimchar en cry_ids.h es solo una pieza del rompecabezas y hay mas que no estoy viendo.
Comenten, discutan y tal que cual. Los quiero.
Las leí hace varias semanas y supe que tenia que darle el intento, y pese a que me tardé un poco, el resultado valió la pena.
Actualmente, los problemas a solucionar son los siguientes:
-El grito del pokémon, que desafortunadamente no está funcionando bien
-La posición del sprite en pantalla, que es una tonteria. Cuestión de jugar con las coordenadas en los archivos back_pic_table.inc y front_pic_table.inc
Creo que no me olvidé de nada, pero si alguno quiere hacer pruebas mas a fondo, adelante.
Dicho eso, pasaré a dejar todos los archivos que modifiqué y los cambios que hice en ellos, por si alguno se quiere sumar.
pokeruby\include\constants\species.h
Aqui, añadi a Chimchar en las distintas listas que presenta el archivo.
-En la primera, lo puse despues de Chimecho y le sumé 1 a la ID del Huevo Pokémon y a las IDs de las Formas Unown.
-En la segunda, lo puse despues de Chimecho normalmente.
-Y en la tercera, hice lo mismo que en la primera. Lo puse despues de Chimecho y le sumé 1 a las ID del Huevo Pokémon y las Formas Unown.
pokeruby\include\global.h
Aqui cambié el 412 en #define POKEMON_SLOTS_NUMBER 412 por un 413.
pokeruby\src\data\pokemon\base_stats.h
Aqui añadí las estadisticas base de Chimchar, justo despues de las de Chimecho.
Lo cierto es que puse las de Charmander porque todo esto lo hago a modo de prueba.
pokeruby\src\data\pokemon\cry_ids.h
Aqui añadí una entrada para Chimchar justo despues de la de Chimecho, respetando el patrón original del archivo.
pokeruby\src\data\pokemon\level_up_learnset_pointers.h
Aqui puse un pointer para el learnset de Chimchar, siguiendo el patrón que dejan las entradas anteriores y el archivo original.
pokeruby\src\data\pokemon\level_up_learnsets.h
Aqui añadí el learnset por nivel de Chimchar justo despues del de Chimecho, siguiendo el patrón que presenta el archivo.
Lo cierto es que puse el de Charmander porque todo esto lo hago a modo de prueba.
pokeruby\src\data\pokemon\tmhm_learnsets.h
Aqui añadí el learnset de MTs/MOs de Chimchar, del mismo modo que el de niveles en el anterior archivo, justo despues del de Chimecho.
Lo cierto es que puse el de Charmander porque todo esto lo hago a modo de prueba.
pokeruby\src\data\pokedex_orders.h
Aqui añadí una entrada para Chimchar en el orden alfabetico de los pokémon en la pokédex, y luego añadi la entrada por los otros ordenes siempre al final porque todo esto lo hago a modo de prueba.
pokeruby\src\data\pokedex_entries_en.h
Aquí añadí una entrada de información para Chimchar en la pokédex justo despues de la Deoxys.
Y mas abajo, una entrada con datos como la altura y tal.
pokeruby\src\data\text\species_names_en.h
Aqui pues hice lo de siempre, añadir una entrada para Chimchar despues de la de Chimecho.
pokeruby\src\birch_pc.c
Aqui podria haber añadido a Chimchar para el tema este de la evaluación del progreso de la pokédex, pero no me interesó asi que no hice nada aqui.
pokeruby\src\pokedex.c
Aqui cambié el 386 en #define NATIONAL_DEX_COUNT 386 por un 387.
Tambien hice algo que UltimaSoul no mencionó, y fue añadir un macro para el sprite de la huella de Chimchar. Lo hice siguiendo el patrón del archivo original, como con todo lo demas.
pokeruby\src\pokemon_1.c
Aqui añadí a Chimchar a los distintos ordenes de la pokédex. Lo puse:
-Despues de Celebi y en la primer lista (gSpeciesToHoennPokedexNum)
-Despues de Chimecho en la segunda (gSpeciesToNationalPokedexNum).
-Despues de Celebi en la tercera (gHoennToNationalOrder).
Basicamente lo que queria, era que Chimchar solo saliera en la Pokédex Nacional.
pokeruby\src\pokemon_3.c
Aqui reemplacé todas las instancias donde aparecia el numero 411, por un 412 que seria Chimchar.
Esto fue algo que hice quizá precipitadamente. No se si en verdad sea necesario, pero no se rompe nada y todo parece funcionar correctamente, asi que lo hice.
pokeruby\src\pokemon_icon.c
Aqui añadí un macro para el icono de Chimchar despues del de Chimecho, y mas abajo indiqué que utilizase la paleta del icono de Charmander, porque de nuevo estoy usando ese a modo de prueba.
pokeruby\include\graphics.h
Aqui añadi entradas para Chimchar en los archivos:
pokeruby\data\graphics\pokemon\back_pic_table.inc
pokeruby\data\graphics\pokemon\front_pic_table.inc
pokeruby\data\graphics\pokemon\graphics.inc
pokeruby\data\graphics\pokemon\palette_table.inc
pokeruby\data\graphics\pokemon\shiny_palette_table.inc
Como siempre, es cuestión de seguir el patrón presentado por los archivos originales.
pokeruby\graphics\pokemon
Aqui hice una carpeta donde se van a alojar los recursos visuales de chimchar. Naturalmente, la carpeta se llamará "chimchar" siguiendo la estructura de Pokeruby.
En ella, deposité: front.png, back.png, icon.png, foot print, normal.pal y shiny.pal
El resto de archivos los pueden borrar, son generados por el compilador automaticamente.
Al final del post les dejaré una pequeña herramienta para conseguir sprites y paletas en base a las laminas de sprites de 256x64 que están en PokeCommunity.
pokeruby\sound\direct_sound_data.inc
Aqui añadí una entrada para el grito de Chimchar, justo despues de la de Chimecho.
pokeruby\sound\direct_sound_samples\cries
Aqui lo que hice fue copiar los archivos cry_charmander.aif y cry_charmander.bin y renombrar las copias como cry_chimchar.aif y cry_chimchar.bin
El grito del pokémon desafortunadamente no está funcionando bien.
Es uno de los problemas a solucionar.
El resultado es el siguiente, damas y caballeros.
Bonus
Repositorio en GitHub con los archivos modificados.
Recuerden que Ctrl+F/barra de busqueda "chimchar" es su amigo.
Actualización: Archivo pokeruby\sound\voice_groups.inc para que el grito de Charmander-Chimchar funcione correctamente.
Actualización 2: Reemplazado el grito de Charmander por el de Chimchar.
Actualización 3: Corregidas las coordenadas del front sprite de Chimchar. El back sprite no lo necesita.
Aseriestodis.
Herramienta creada por Gamer2020 para convertir las laminas de sprites de 256x64 pixeles creadas en PokeCommunity, al formato de sprites usado por los proyectos de desensamblaje y decompilación.
Pues dicho y hecho todo echo, el principal problema que no tengo idea de como arreglar es, como dije 2 veces ahi arriba, el grito.
Si, le puse el de Charmander, pero el hecho es que no suena al grito de Charmander.
Yo creo que añadir una ID para Chimchar en cry_ids.h es solo una pieza del rompecabezas y hay mas que no estoy viendo.
Comenten, discutan y tal que cual. Los quiero.
Última edición: