Autor Tema: new articles on the wiki  (Leído 13255 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Conectado SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12517
  • Karma: 369
  • Sexo: Masculino
    • Ver Perfil
Re:new articles on the wiki
« Respuesta #45 en: Julio 31, 2012, 12:54:58 pm »
Exactisimo todo lo que dijiste SplinterGU. Es justo lo que puse en mi post en inglés, quizás en un inglés paupérrimo como indicas, pero mi intención era la de aclarar las cosas para tener la documentación lo más fiel posible. Quizás no te haya gustado que puse la palabra cheat a lo de hacer el null, y no es la adecuada, quería simplemente decir eso mismo que dices tu, que ponerla a justo después del end es un "truco" para hacer que no vuelva a llamarse a fil_end con el id anterior y así la función fli_end no intente volver a liberar el recurso y puse un ejemplo de como resolver el error sin necesidad de hacer null, por lo que reitero que todo lo que dijiste es cierto, quien va a saber más de esto que tú :D.

por favor, faltaba mas... no me ha disgustado, simplemente que me parecio que en castellano nos ibamos a entender mejor.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Conectado SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12517
  • Karma: 369
  • Sexo: Masculino
    • Ver Perfil
Re:new articles on the wiki
« Respuesta #46 en: Julio 31, 2012, 12:58:54 pm »
Gee, I dont understand english, and this is the english board.

don't worry about it, sure kloppix will explain it in the wiki...

please, you don't need remember us that this forum is an english forum... if we need change language for a better understanding of this stuff, then we'll do... or you prefer learn a bad understanding of this stuff because our bad english?
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Desconectado Kloppix

  • Full Member
  • ***
  • Mensajes: 241
  • Karma: 14
  • Sexo: Masculino
    • Ver Perfil
Re:new articles on the wiki
« Respuesta #47 en: Agosto 01, 2012, 01:07:48 am »
 
Creo que para evitar futuros dolores de cabeza, debería ser costumbre resetear el identificador tras Fli_end(). Lo puse como recomendación en la Wiki.
no solo con fli, con toda variable donde guardamos id de mapas, archivos, identificadores de procesos, etc.
Me da mucha verguenza, pero nunca llegué a resetear un handle. Probablemente porque núnca tuve un error similar. Como no creo ser el único novato en Bennu, voy a dejar la recomendación hasta que nos lo des “todo mascado” en la futura versión :)


Gee, I dont understand english, and this is the english board.

Sorry dude. I had a crash using something like this inside a loop:


if(key(_1))   
    fli_end(iAnimation1); 
end


The problem was fli_end(iAnimation); doesn't reset iAnimation, only frees it. That means iAnimation still contains a memory address (now invalid). Beeing inside a loop, fli_end(iAnimation) was executed for a second time and caused the program to crash. Therefore DCelso suggested addind  while (key(_1))  frame;  end; to prevent it...


if(key(_1))
        while (key(_1)) frame; end;    
        fli_end(iAnimation1); 
end


...and Splinter suggested reseting it by adding iAnimation1=null;


if(key(_1))
    fli_end(iAnimation1); 
    iAnimation1=null;
end


Although DCelso's solution works, the danger is still there. Therefore I recomended in the Wiki to reset the Fli_ID after using Fli_end.


And then Splinter said he wanted to make a new and safer internal system. Probably when the x64 version get released.

Conectado SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12517
  • Karma: 369
  • Sexo: Masculino
    • Ver Perfil
Re:new articles on the wiki
« Respuesta #48 en: Agosto 01, 2012, 05:07:44 am »
Really your right code must be...

if(iAnimation1 and key(_1))
    fli_end(iAnimation1);
    iAnimation1=null;
end
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Desconectado Kloppix

  • Full Member
  • ***
  • Mensajes: 241
  • Karma: 14
  • Sexo: Masculino
    • Ver Perfil
Re:new articles on the wiki
« Respuesta #49 en: Agosto 01, 2012, 05:33:28 am »
Really your right code must be...

if(iAnimation1 and key(_1))
    fli_end(iAnimation1);
    iAnimation1=null;
end

I was just explaining the mistake  :P In the wiki I used something like that.  1 starts/stops one animation and 2 starts/stops the another one. So this is what I done:

    if(key(_1))
      //Do nothing until the key is released
      while(key(_1))frame; end
      if(iAnimation1!=null)    //If the animation wasn't terminated...
        fli_end(iAnimation1);  //...stop only the simple animation...
        iAnimation1=null;      //...and reset the handle
      else
        iAnimation1=fli_start("animation.fli",50,80);
      end
    end

The complete code is in http://wiki.bennugd.org/index.php?title=Fli_end Please take a look, as I'm using the same example for 4 functions.
« última modificación: Agosto 01, 2012, 06:09:34 am por Kloppix »

Conectado SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12517
  • Karma: 369
  • Sexo: Masculino
    • Ver Perfil
Re:new articles on the wiki
« Respuesta #50 en: Agosto 01, 2012, 06:08:26 am »
very good!
Download Lastest BennuGD Release: http://www.bennugd.org/node/2