Registrarse

[pokeruby] Traducción | Cambiando el orden de algunas strings en el Sumario Pokémon

Lunos

Enfrentando a La Organización
Miembro insignia
Holi.
Despues de que escribí este post, el usuario @kakarotto se puso a investigar un poco por su cuenta como poder solucionar una de las interrogantes que presenté.
¿Que creen? Pues lo logró. La perseverencia siempre obtiene resultados.

El dia de hoy cambiaremos el orden en el que se presentan ciertas palabras de la pantalla de Datos Pokémon.
¿Para qué? Para poder tener una traducción de Pokémon Ruby lo mas fiel posible a la original.

Los creditos por supuesto, se los lleva @kakarotto pues él fue quien lo hizo.
Y espero que venga y pueda explicar un poco como va el tema, porque yo de C no entiendo un pomo, jajajajaja.

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

Instrucciones:
1) Abrimos el archivo "\pokeruby\src\pokemon_summary_screen.c" con un editor de texto.

2) Usando Ctrl+G nos vamos a la Linea #2848 y podremos ver lo siguiente:
#if ENGLISH
ptr = SummaryScreen_CopyColoredString(ptr, gNatureNames[nature], 14);
if (nature != NATURE_BOLD && nature != NATURE_GENTLE)
ptr = StringCopy(ptr, gOtherText_Terminator4);
ptr = StringCopy(ptr, gOtherText_Nature);
#elif GERMAN
ptr = StringCopy(gStringVar4, gOtherText_Nature);
ptr = SummaryScreen_CopyColoredString(ptr, gNatureNames[nature], 14);
ptr = StringCopy(ptr, gOtherText_Terminator4);
#endif​
Pues lo vamos a reemplazar por lo siguiente:
#if ENGLISH
ptr = StringCopy(ptr, gOtherText_Nature);
ptr = SummaryScreen_CopyColoredString(ptr, gNatureNames[nature], 14);
ptr = StringCopy(ptr, gOtherText_Comma);
ptr = StringCopy(ptr, gOtherText_Terminator4);
#elif GERMAN
ptr = StringCopy(gStringVar4, gOtherText_Nature);
ptr = SummaryScreen_CopyColoredString(ptr, gNatureNames[nature], 14);
ptr = StringCopy(ptr, gOtherText_Terminator4);
#endif​
3) Ahora nos vamos a la Linea #4857 y veremos esto:
u8 *PokemonSummaryScreen_CopyPokemonLevel(u8 *dest, u8 level)
{
u8 buffer[12];

*dest++ = CHAR_LV;

if (level == 0)
level = 5;

ConvertIntToDecimalString(buffer, level);
dest = SummaryScreen_CopyColoredString(dest, buffer, 14);
dest = StringCopy(dest, gOtherText_Comma);

return dest;
}​
Pues lo vamos a reemplazar por esto:
u8 *PokemonSummaryScreen_CopyPokemonLevel(u8 *dest, u8 level)
{
u8 buffer[12];
*dest++ = CHAR_PERIOD;

if (level == 0)
level = 5;

ConvertIntToDecimalString(buffer, level);
dest = SummaryScreen_CopyColoredString(dest, buffer, 14);
return dest;
}​
4) Guardamos, cerramos el archivo y nos vamos a "\pokerubi\data\strings2.s".
Aqui haremos las siguientes modificaciones:
-Ctrl+F "gOtherText_ControlAndMiscText" y cambiamos el "Lv" en la tercera string por "Nv."

-Ctrl+F "gOtherText_CancelAndLv" y cambiamos el "LV" en la segunda string por "Nv."

-Ctrl+F "gOtherText_Terminator4" y cambiamos "$" por " Nv$"

-2 o 3 lineas mas abajo en "gOtherText_Nature" cambiamos " nature, $" por "Naturaleza $".

5) C:\cygwin64\Cygwin.bat
cd pokeruby
make
Y listo.

Aqui el resultado.
Tutorial | Pokémon Ruby | Pokémon Rubi


Como pueden apreciar, lo unico que faltaria seria los ajustes a la font, una coma despues de "Nv. XX", arreglar el caracter "Nv" y ya.

Y eso es todo.​
 

kakarotto

Leyenda de WaH
Respuesta: Pokeruby | Traducción | Cambiando el orden de algunas strings en el Sumario Pokémon

Por si alguien quiere saber como se hizo esta "magia":
*dest++ = CHAR_PERIOD; Es el byte correspondiente al "."
ConvertIntToDecimalString(buffer, level); // Almacena el nivel en un buffer
dest = SummaryScreen_CopyColoredString(dest, buffer, 14); // Colorea la naturaleza de rojo
return dest;
->
Estas funciones devuelven el nivel del poke y lo almacena en un buffer, después llamamos a "dest" para que ponga nuestro punto, por así decirlo

ptr = StringCopy(ptr, gOtherText_Nature); // Naturaleza..
ptr = SummaryScreen_CopyColoredString(ptr, gNatureNames[nature], 14); //captura el id de la naturaleza para devolver el string ( BOLD, MILD, HASTY..)
ptr = StringCopy(ptr, gOtherText_Comma); // Una coma, sin más
ptr = StringCopy(ptr, gOtherText_Terminator4);
Este es el conector del string de la naturaleza y del nivel, por ello ponemos " Nv."
 
Arriba