RandomSponge
Usuario de oro
¡Buenas!
En esta ocasión, vengo a presentarles como aumentar el limite de caracteres para nombres de los movimientos + objetos en firered
(aunque estoy seguro de que es posible de portear a pokeemerald, solo que no lo he intentado ), y en el caso de los movimientos,
como usar los nombres completos donde si tienen espacio, mientras los nombres abreviados se quedan en ciertos menús.
Creditos a Z-nogyroP en Pokécommunity por el sistema para los nombres de movimientos, originalmente creado para la CFRU pero
que portee a pokefirered.
¡Gracias por leer!
En esta ocasión, vengo a presentarles como aumentar el limite de caracteres para nombres de los movimientos + objetos en firered
(aunque estoy seguro de que es posible de portear a pokeemerald, solo que no lo he intentado ), y en el caso de los movimientos,
como usar los nombres completos donde si tienen espacio, mientras los nombres abreviados se quedan en ciertos menús.
Creditos a Z-nogyroP en Pokécommunity por el sistema para los nombres de movimientos, originalmente creado para la CFRU pero
que portee a pokefirered.
Paso 1: Crear una tabla nueva.
En src/data/text/move_names.h, copia la tabla de texto "
A esta nueva tabla se le tiene que dar un nombre distinto, pero preferiblemente que sea fácil de identificar. En mi caso simplemente
añadí "Long" al nombre (LongMoveNames).
También se requiere cambiar el [13] por el número de caracteres deseado, en mi caso lo deje en [18].
Para este tutorial no voy a añadir nombres traducidos o cambiados, ya depende de tu proyecto que nombres requieran tener más
de 13 caracteres (que es el limite original) y abreviaciones.
Si un nombre no pasa de ese limite, simplemente déjalo igual en ambas tablas.
Paso 2: "Exportar" la tabla.
En include/data.h, agrega
Paso 3a: Hacer que los nombres largos aparezcan en batalla.
En src/battle_message.c, remplaza las líneas 1630, 1916, 1922 y 2192 con
y
Paso 3b: Hacer que los nombres largos aparezcan en el menú de TMs/MTs (TM CASE).
En src/tm_case.c, remplaza la linea 535 con
Bonus: Adicionalmente, si se quiere tener más acentos o caracteres en los nombres cortos, se puede aumentar el valor de
MOVE_NAME_LENGTH en include/constants/global.h
(claro, también podrías aumentarlo junto con
pero entonces no puedes hacer que el juego muestre nombres abreviados donde no caben los largos )
¡Y listo!
Hay otros menús que usan los nombres, pero no los he cambiado porque ya no tienen espacio para nombres más largos,
incluso si la diferencia es de un carácter.
En src/data/text/move_names.h, copia la tabla de texto "
const u8 gMoveNames
" en su totalidad y pega la copia debajo de la original.A esta nueva tabla se le tiene que dar un nombre distinto, pero preferiblemente que sea fácil de identificar. En mi caso simplemente
añadí "Long" al nombre (LongMoveNames).
También se requiere cambiar el [13] por el número de caracteres deseado, en mi caso lo deje en [18].
Para este tutorial no voy a añadir nombres traducidos o cambiados, ya depende de tu proyecto que nombres requieran tener más
de 13 caracteres (que es el limite original) y abreviaciones.
Si un nombre no pasa de ese limite, simplemente déjalo igual en ambas tablas.
Paso 2: "Exportar" la tabla.
En include/data.h, agrega
extern const u8 gLongMoveNames[][18];
debajo de extern const u8 gMoveNames[][13];.
Paso 3a: Hacer que los nombres largos aparezcan en batalla.
En src/battle_message.c, remplaza las líneas 1630, 1916, 1922 y 2192 con
StringCopy(gBattleTextBuff2,gLongMoveNames[sBattleMsgDataPtr->currentMove]);
,toCpy = gLongMoveNames[sBattleMsgDataPtr->currentMove];
,toCpy = gLongMoveNames[sBattleMsgDataPtr->originallyUsedMove];
y
StringAppend(dst, gLongMoveNames[T1_READ_16(&src[srcId + 1])]);
respectivamente.Paso 3b: Hacer que los nombres largos aparezcan en el menú de TMs/MTs (TM CASE).
En src/tm_case.c, remplaza la linea 535 con
StringAppend(gStringVar4, gLongMoveNames[ItemIdToBattleMoveId(itemId)]);
Bonus: Adicionalmente, si se quiere tener más acentos o caracteres en los nombres cortos, se puede aumentar el valor de
MOVE_NAME_LENGTH en include/constants/global.h
(claro, también podrías aumentarlo junto con
MoveNames
al grado de LongMoveNames
y descartar eso,pero entonces no puedes hacer que el juego muestre nombres abreviados donde no caben los largos )
¡Y listo!
Hay otros menús que usan los nombres, pero no los he cambiado porque ya no tienen espacio para nombres más largos,
incluso si la diferencia es de un carácter.
Paso 1: Aumentar el limite de caracteres.
En include/constants/global.h, aumenta el valor de
(el valor resulta en el número de caracteres + 1, así que ten cuidado de no poner un nombre de 19 letras en este caso, porque dará error)
Paso 2: Aumentar el limite de caracteres en menús.
En src/item_menu.c, aumenta el valor de
(en este caso, como
De la misma forma, aumenta el valor de
¡Y listo!
En include/constants/global.h, aumenta el valor de
ITEM_NAME_LENGTH
, en mi caso, lo aumente de 14 a 19.(el valor resulta en el número de caracteres + 1, así que ten cuidado de no poner un nombre de 19 letras en este caso, porque dará error)
Paso 2: Aumentar el limite de caracteres en menús.
En src/item_menu.c, aumenta el valor de
(*sListMenuItemStrings)
de forma proporcional al aumento en ITEM_NAME_LENGTH
(en este caso, como
ITEM_NAME_LENGTH
aumento + 5 (*sListMenuItemStrings)
también lo hace, quedando en [24])De la misma forma, aumenta el valor de
(*sShopMenuItemStrings)
en src/shop.c.¡Y listo!
Dado que no di ejemplos específicos para los nombres, aquí hay capturas de mi traducción pokefireredlat, en la que usé estas modificaciones para que se vea que funcionan:
¡Gracias por leer!