Bennu Game Development

Foros en Español => Mesa de Ayuda => Topic started by: Erkosone on March 16, 2012, 02:51:10 PM

Title: Duda con Write() y Write_var()..
Post by: Erkosone on March 16, 2012, 02:51:10 PM
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?
Title: Re:Duda con Write() y Write_var()..
Post by: SplinterGU on March 16, 2012, 02:57:10 PM
que error te da? podes poner la salida o una captura?
Title: Re:Duda con Write() y Write_var()..
Post by: Erkosone on March 16, 2012, 03:19:49 PM
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)
Title: Re:Duda con Write() y Write_var()..
Post by: SplinterGU on March 16, 2012, 06:29:20 PM
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.
Title: Re:Duda con Write() y Write_var()..
Post by: Erkosone on March 16, 2012, 07:21:36 PM
Gracias, preparo un sample del código y te lo cuelgo aquí mismo, dame un minuto.
Title: Re:Duda con Write() y Write_var()..
Post by: Erkosone on March 16, 2012, 07:45:23 PM
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.
Title: Re:Duda con Write() y Write_var()..
Post by: SplinterGU on March 16, 2012, 09:37:51 PM
si, mandamelo por mail.
Title: Re:Duda con Write() y Write_var()..
Post by: SplinterGU on March 16, 2012, 10:47:38 PM
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.
Title: Re:Duda con Write() y Write_var()..
Post by: Erkosone on March 16, 2012, 10:51:56 PM
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
Title: Re:Duda con Write() y Write_var()..
Post by: SplinterGU on March 16, 2012, 11:01:21 PM
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)
Title: Re:Duda con Write() y Write_var()..
Post by: Erkosone on March 16, 2012, 11:20:31 PM
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..
Title: Re:Duda con Write() y Write_var()..
Post by: Erkosone on March 16, 2012, 11:31:37 PM
Arreglado!
Gracias por la ayuda.