Hola, estoy intentando escribir en pantalla un texto almacenado en un string dentro de una Struct y por algún motivo que desconozco me da error.
La Struct es esta:
STRUCT HI_SCORES[3]; // ARCHIVO LOCAL DE RANKING
STRING NAME;
INT SCORE;
END
Y la linea donde intento pintar en pantalla el valor es esta: WRITE_VAR(FNT_3, X-65, Y-20, 0, HI_SCORES[0].NAME);
Creo que estoy tan cegado con el código que no soy capaz de ver el error.. alguien puede ayudarme?
que error te da? podes poner la salida o una captura?
Por supuesto que si, gracias por la pronto respuesta, aquí tienes la captura completa:
(http://forum.bennugd.org/index.php?action=dlattach;topic=3014.0;attach=2390)
pense que era problema del compilador...
luego veo de armar un ejemplo y probarlo... si ya tienes un ejemplo armado y me lo puedes pasar, mejor asi te respondo mas rapido.
saludos.
Gracias, preparo un sample del código y te lo cuelgo aquí mismo, dame un minuto.
Parece que en un ejemplo separado funciona bien, ahora si que me he quedado extrañado, si te parece bien puedo pasarte el juego completo por MP, son pocas lineas, es un juego que estoy portando a BennuGD y estoy empezando, tiene poco código.
Lo preparo y te mando el link, si puedes darle un ojo haber si hay algo mal pues te lo agradezco, si no pues nada, gracias igualmente.
si, mandamelo por mail.
claro, tu problema es que no podes hacer fwrite y fread para strings, las variables strings son un identificador que representa una string en memoria... si haces eso, entonces cuando cargas, cargas cualquier cosa, cargar una string que no existe en memoria.
tenes que usar SAVE y LOAD
antes del write, pone...
hi_scores[0].name = "";
y vas a ver como funciona.
Vaya.. no imaginaba que fuera algo así, gracias por la ayuda Splinter, de verdad que esto no lo hubiera descubierto jamás jeje..
Muchas gracias por mirarlo :D
reinicia antes las strings y guardalas... o mejor en lugar de strings usa char[];
por ejemplo
char name[32];
esto lo accedes como una string, pero tienes un espacio ya alocado para las mismas. solo debes asegurarte que la string dentro termine en un caracter 0 (no el numero, sino de valor cero).
de nada (y por favor corrije esos creditos... :D)
mm.. lo de char es buena idea, así no modifico nada mas del código, voy a hacerlo así :D
Y si, eso ha sido un desliz curioso :-[ , tengo que encontrar el template de esa linea y modificarlo.
Gracias por la ayuda, esto no lo hubiera solucionado fácilmente jeje..
Arreglado!
Gracias por la ayuda.