Registrarse

[pokeruby] Pokémon iniciales exclusivos de versión

Lunos

Enfrentando a La Organización
Miembro insignia
Holi. Recien me acordé que hoy no traje ningun caramelito, y como acabo de descubrir esto casi que por mi propia cuenta, pensé en traerlo hasta acá.
Hoy les enseñaré a poner pokémon iniciales exclusivos de la versión del juego.
Basicamente, un trio de starters en Pokémon Ruby y otro distinto en Pokémon Sapphire.
Esto lo aprendí mirando al archivo \pokeruby\src\strings.c, viendo como se definian los nombres predeterminados exclusivos, Lineas de la 56 a la 72.

Requisitos:
-Leer mi tema de introducción a Pokeruby.

Instrucciones:
1) Abrimos \pokeruby\src\starter_choose.c con un editor de texto y buscamos el nombre de uno de los 3 pokémon iniciales de R/S.
Esto nos llevará a la Linea 50, es decir:
static const u16 sStarterMons[] = {SPECIES_TREECKO, SPECIES_TORCHIC, SPECIES_MUDKIP};​
2) Lo que tenemos que hacer aqui es definir un trio de starters que sean escogidos si se compila Pokémon Sapphire, dejando al trio original para los momentos en los que la persona prefiere compilar Pokémon Ruby, asi que replicaremos lo que está hecho en el archivo strings.c como mencioné antes:
#ifdef SAPPHIRE// Si se compila Pokémon Sapphire
static const u16 sStarterMons[] = {SPECIES_ODDISH, SPECIES_MAGBY, SPECIES_POLIWAG};// Poné a estos pokémon iniciales.
#else// De lo contrario...
static const u16 sStarterMons[] = {SPECIES_BULBASAUR, SPECIES_CHARMANDER, SPECIES_SQUIRTLE};// Poné a estos.
#endif// Y se acabó, no hay mas cosas que diferenciar.
Si no lo entendieron, echenle un ojo a como luce mi archivo:


3) C:\cygwin64\cygwin.bat
cd pokeruby
make y/o make sapphire.
Y ya.

No creo que sea necesario poner un video de muestra. Pruebenlo ustedes mismos.

Hasta luego.​
 
Última edición:

kakarotto

Leyenda de WaH
Re: Pokeruby | Pokémon iniciales exclusivos

Esto es interesante para la gente que está empezando pero compilar el proyecto entero es un proceso muy lento. Deberías explicar cómo inyectar una parte de código sin necesidad de compilar el juego completo.
 

Lunos

Enfrentando a La Organización
Miembro insignia
Respuesta: Re: Pokeruby | Pokémon iniciales exclusivos

Esto es interesante para la gente que está empezando pero compilar el proyecto entero es un proceso muy lento. Deberías explicar cómo inyectar una parte de código sin necesidad de compilar el juego completo.
El proceso de compilar Ruby y Sapphire solo tarda las primeras veces que los compilas. Las siguientes, no tarda ni un minuto.

No estoy seguro de a lo que te refieres con "inyectar codigo sin necesidad de compilar el juego", pero creo que ya dejé entrever que yo no sé demasiado sobre C y tal, asi que si pudieras escribir un tutorial y asi poco a poco vamos fomentando el amor por estos proyectos, seria estupendo :D
 

L!no

GBA Developer
Respuesta: Re: Pokeruby | Pokémon iniciales exclusivos

Esto es interesante para la gente que está empezando pero compilar el proyecto entero es un proceso muy lento. Deberías explicar cómo inyectar una parte de código sin necesidad de compilar el juego completo.
cito a @Lunos :
make NODEP=1: Si solo has hecho cambios en archivos .c o .s tras la ultima compilación, puedes usar este comando para aplicarlos casi instantaneamente.
 

kakarotto

Leyenda de WaH
Re: Pokeruby | Pokémon iniciales exclusivos

@L!nOS pero este comando no funciona si haces cambios en el linker o en el bpree.ld

A eso me refería.. A ver si tengo mas claro ciertos datos y elaboro un tutorial,aunque tu siendo desarrollador gba sabras más del tema que yo.
 
Arriba