Registrarse

[Dis - Otros] Faltan caracteres en el nombre de pokemon

kassius_kan

Usuario habitual
¿Cómo aumento los caracteres de los nombres y apodos de Pokémon?

El numero maximo de personajes hoy en dia es de 10 pero sabemos que algunos pokemons tienen mas como Corvisquire, Corviknight, Barraskewda entre otros, por lo que vi son los mas grandes de Gen 8
 

kassius_kan

Usuario habitual
Abreviatura, si no llega a causar bugs visuales
en realidad es el nombre del pokemon, no tendria que abreviarlo, al menos desde mi punto de vista, y es como agregar 2 caracteres mas.

porque el propio juego acaba "comiéndose" los dos últimos caracteres del nombre del pokemon
 

Lunos

Enfrentando a La Organización
Miembro insignia
¿Cómo aumento los caracteres de los nombres y apodos de Pokémon?

El numero maximo de personajes hoy en dia es de 10 pero sabemos que algunos pokemons tienen mas como Corvisquire, Corviknight, Barraskewda entre otros, por lo que vi son los mas grandes de Gen 8
Sencillisimo. Es cuestión de aumentar el valor de la constante POKEMON_NAME_LENGTH, guardar y compilar.

Tené en cuenta que esta constante es usada dentro de las 3 structs principales que, junto al Hall of Fame, unos asuntos del Trainer Hill y el E-Reader y la función de grabar video, conforman un archivo de guardado generado por el juego, pero. En otras palabras, incrementar el valor de esa constante implica sacrificar un poco de espacio libre en el archivo de guardado del juego.
Por mostrar un ejemplo rapido, esta es la diferencia en mi rama personal, antes y despues de incrementar el valor de la constante POKEMON_NAME_LENGTH de 10 a 12.
old.png

new.png
 

kassius_kan

Usuario habitual
Sencillisimo. Es cuestión de aumentar el valor de la constante POKEMON_NAME_LENGTH, guardar y compilar.

Tené en cuenta que esta constante es usada dentro de las 3 structs principales que, junto al Hall of Fame, unos asuntos del Trainer Hill y el E-Reader y la función de grabar video, conforman un archivo de guardado generado por el juego, pero. En otras palabras, incrementar el valor de esa constante implica sacrificar un poco de espacio libre en el archivo de guardado del juego.
Por mostrar un ejemplo rapido, esta es la diferencia en mi rama personal, antes y despues de incrementar el valor de la constante POKEMON_NAME_LENGTH de 10 a 12.
Ver el archivo adjunto 10739
Ver el archivo adjunto 10740

en este caso, en resumen, lo que conduciría a un archivo guardado más pesado.
 

Lunos

Enfrentando a La Organización
Miembro insignia
en este caso, en resumen, lo que conduciría a un archivo guardado más pesado.
Bueno, no. Dejame clarificar algo para asegurarme de que nos estamos entendiendo.
El tamaño del archivo de guardado no cambia, ni siquiera aunque rebases sus limites. Nunca será "más pesado" porque nunca rebasa los 128 KB.
Aumentando el valor de la constante lo que haces es usar el espacio vacio dentro de esos 128 KB que aun no ha sido utilizado.
 

kassius_kan

Usuario habitual
Bueno, no. Dejame clarificar algo para asegurarme de que nos estamos entendiendo.
El tamaño del archivo de guardado no cambia, ni siquiera aunque rebases sus limites. Nunca será "más pesado" porque nunca rebasa los 128 KB.
Aumentando el valor de la constante lo que haces es usar el espacio vacio dentro de esos 128 KB que aun no ha sido utilizado.
ok, pero ¿de qué manera eso sería perjudicial para Rom y la experiencia del juego?
 

Lunos

Enfrentando a La Organización
Miembro insignia
ok, pero ¿de qué manera eso sería perjudicial para Rom y la experiencia del juego?
Pues en el caso de que rebases el limite de espacio de algunas de las 3 estructuras involucradas (SaveBlock1, SaveBlock2 y PokemonStorage), cualquier dato que se encuentre a partir del limite en adelante no quedaria registrado en la partida gurdada del jugador.
Basicamente, si ocupas todo el espacio dentro de esas estructuras y seguís metiendoles variables para alojar contenido, hay cosas como objetos o Pokémon capturados que el jugador perderia al resetear el juego tras haber guardado la partida desde el menú Start.
 

kassius_kan

Usuario habitual
Pues en el caso de que rebases el limite de espacio de algunas de las 3 estructuras involucradas (SaveBlock1, SaveBlock2 y PokemonStorage), cualquier dato que se encuentre a partir del limite en adelante no quedaria registrado en la partida gurdada del jugador.
Basicamente, si ocupas todo el espacio dentro de esas estructuras y seguís metiendoles variables para alojar contenido, hay cosas como objetos o Pokémon capturados que el jugador perderia al resetear el juego tras haber guardado la partida desde el menú Start.
y así fue exactamente como sucedió, la parte de almacenamiento de los pokemons fallaba así en la impresión a continuación sin cambiar la imagen, pero cambié algunas cosas más en la parte de la cadena como esta en esta parte del código, nada más.

// string lengths
#define ITEM_NAME_LENGTH 14
#define POKEMON_NAME_LENGTH 12
#define PLAYER_NAME_LENGTH 10
#define MAIL_WORDS_COUNT 9
#define EASY_CHAT_BATTLE_WORDS_COUNT 6
#define MOVE_NAME_LENGTH 12
#define NUM_QUESTIONNAIRE_WORDS 4
#define QUIZ_QUESTION_LEN 9
#define WONDER_CARD_TEXT_LENGTH 42
#define WONDER_NEWS_TEXT_LENGTH 42
#define WONDER_CARD_BODY_TEXT_LINES 4
#define WONDER_NEWS_BODY_TEXT_LINES 10

Hay que hacer algo para que esto no pase y aun así el nombre del personaje y el nombre del pokemon tengan esta cantidad de caracteres
 

Adjuntos

Lunos

Enfrentando a La Organización
Miembro insignia
Hay que hacer algo para que esto no pase y aun así el nombre del personaje y el nombre del pokemon tengan esta cantidad de caracteres
Si, liberar espacio en las 3 estructuras ya mencionadas. No sé, creí que seria obvio cuando dije varias veces que esto utilizaba espacio vacio de algunas de las estructuras que conforman el archivo de guardado.
Si las estructuras están llenas (podés comprobarlo con el menú debug diseñado por TheXaman, o con esta alternativa mia para proyectos que no lo usen), pues toca remover cosas que no uses dentro de ellas.
 

kassius_kan

Usuario habitual
Si, liberar espacio en las 3 estructuras ya mencionadas. No sé, creí que seria obvio cuando dije varias veces que esto utilizaba espacio vacio de algunas de las estructuras que conforman el archivo de guardado.
Si las estructuras están llenas (podés comprobarlo con el menú debug diseñado por TheXaman, o con esta alternativa mia para proyectos que no lo usen), pues toca remover cosas que no uses dentro de ellas.

De hecho, incluso agregar este personaje 1 en el archivo global.h , los pokemones con más de 10 caracteres en el nombre no cambian/ el último carácter aparece en el caso el carácter 1.

Ejemplo:
¿Cómo es esto en Rom? Corvisquir
Como iba a ser Corvisquire
 

Lunos

Enfrentando a La Organización
Miembro insignia
De hecho, incluso agregar este personaje 1 en el archivo global.h , los pokemones con más de 10 caracteres en el nombre no cambian/ el último carácter aparece en el caso el carácter 1.

Ejemplo:
¿Cómo es esto en Rom? Corvisquir
Como iba a ser Corvisquire
¿Que cambios estás haciendo exactamente?
Poniendo de lado la charla sobre el espacio libre en el archivo de guardado, lo que tenés que hacer es modificar el valor de la constante ya mencionada (POKEMON_NAME_LENGTH) que se encuentra en include/constants/global.h, modificar el nombre de tu especie que se encuentra en src/data/text/species_names.h, y empezar una nueva partida normalmente.
mGBA_20220801_020150783.png

wsl_20220801_020332690.png
 

kassius_kan

Usuario habitual
¿Que cambios estás haciendo exactamente?
Poniendo de lado la charla sobre el espacio libre en el archivo de guardado, lo que tenés que hacer es modificar el valor de la constante ya mencionada (POKEMON_NAME_LENGTH) que se encuentra en include/constants/global.h, modificar el nombre de tu especie que se encuentra en src/data/text/species_names.h, y empezar una nueva partida normalmente.
Ver el archivo adjunto 10805
Ver el archivo adjunto 10806

estaba jodiendo no estaba cambiando el archivo src/data/text/species_names.h y todavía quería que funcionara
 

kassius_kan

Usuario habitual
¿Que cambios estás haciendo exactamente?
Poniendo de lado la charla sobre el espacio libre en el archivo de guardado, lo que tenés que hacer es modificar el valor de la constante ya mencionada (POKEMON_NAME_LENGTH) que se encuentra en include/constants/global.h, modificar el nombre de tu especie que se encuentra en src/data/text/species_names.h, y empezar una nueva partida normalmente.
Ver el archivo adjunto 10805
Ver el archivo adjunto 10806
no se si en la batalla llegaste a perseverar mas que un corte referente al sexo de los pokemon, no sabrias como solucionar esto?
 

Lunos

Enfrentando a La Organización
Miembro insignia
no se si en la batalla llegaste a perseverar mas que un corte referente al sexo de los pokemon, no sabrias como solucionar esto?
Eso sonó un poco al traductor de Google, pero se entendió igual.
El icono del genero ya seria un asunto aparte al nombre de la especie. Eso ya es cosa de la interfaz de batalla.
Me imagino que podrias agrandar las cajas de estadisticas que se encuentran en graphics/battle_interface, y quizá debas aplicar ciertos ajustes extra en src/battle_interface.c, pero yo no he experimentado mucho al respecto como para decirte algo más concreto. Tendrás que revisarlo tú.
 
Arriba